Compacted table data files validation
A first replay log is replayed to generate a first replay result. Replaying the first replay log includes replacing, in the first replay result, a first value of a first field included in a first command in the first replay log with a first hash value responsive to a determination that the first field is not utilized as a condition in at least one command included in the first replay log. A second replay log is replayed to generate a second replay result. The first replay result and the second replay result are compared to verify that the first replay log and the second replay log are equivalent.
1. A method for database replay log compaction verification, comprising:
replaying a first replay log to generate a rut replay result, wherein replaying the first replay log comprises:
determining that a first field is not utilized as a condition in at least one database command included in the first replay log, and
in response to determining that the first field is not utilized as a condition in the at least one database command included in the first replay log, replacing, in the first replay result, a rust value of the first field included in a first database command in the rust replay log with a first hash value;
replaying a second replay log to generate a second replay result; and
comparing the rust replay result and the second replay result to verify that the first replay log and the second replay log are equivalent.
2. The method of claim 1 , wherein replaying the second replay log comprises:
replacing a second value of a second field included in a second database command of the second replay log with a second hash value.
3. The method of claim 2 , wherein replacing the second value of the second field included in the second database command of the second replay log with the second hash value comprises:
replacing the second value of the second field included in the second database command of the second replay log with the second hash value responsive to a determination that the second field is not utilized as a condition database commands included in the first replay log.
4. The method of claim 2 , wherein replacing the second value of the second field included in the second database command of the second replay log with the second hash value comprises:
replacing the second value of the second field included in the second database command of the second replay log with the second hash value responsive to a determination that the second field is not utilized as a condition in database commands included in the second replay log.
5. The method of claim 1 , wherein comparing the rust replay result and the second replay result comprises:
comparing a third hash value of a row of the rust replay result to a fourth hash value of a corresponding row of the second replay result.
6. The method of claim 5 , further comprising:
responsive to a non-match between the third hash value and the fourth hash value, transmitting a notification of the non-match.
7. The method of claim 6 , wherein transmitting the notification of the non-match includes logging the non-match to a log file.
8. The method of claim 1 , wherein the second replay log is a compacted version of the rust replay log that has been generated using a compaction process.
9. A device, comprising:
a memory; and
a processor, the processor configured to execute instructions stored in the memory to:
determine that a first field it not utilized as a condition in at least one database command included in a first replay log;
in response to determining that the first field is not utilized as a condition in the at least one database command included in the to replay log, replace, in a rut replay result, a rut value of the first field included in a first database command in a first replay log with a first hash value;
replay a second replay log to generate a second replay result; and
compare the first replay result and the second replay result to verify that the rust replay log and the second replay log are equivalent.
10. The device of claim 9 , wherein the instructions to replay the second replay log comprise to:
replace a second value of a second field included in a second database command of the second replay log with a second hash value.
11. The device of claim 10 , wherein the instructions to replace the second value of the second field included in the second database command of the second replay log with the second hash value comprise to:
replace the second value of the second field included in the second database command of the second replay log with the second hash value responsive to a determination that the second field is not utilized as a condition in database commands included in the first replay log.
12. The device of claim 10 , wherein the instructions to replace the second value of the second field included in the second database command of the second replay log with the second hash value comprise to:
replace the second value of the second field included in the second database command of the second replay log with the second hash value responsive to a determination that the second field is not utilized as a condition in database commands included in the second replay log.
13. The device of claim 9 , wherein the instructions to compare the first replay result and the second replay result comprise to:
compare a third hash value of a row of the first replay result to a fourth hash value of a corresponding row of the second replay result.
14. The device of claim 13 , therein the processor is further configured to execute instructions stored in the memory to:
responsive to a non-match between the third hash value and the fourth hash value, transmit a notification of the non-match.
15. The device of claim 14 , wherein to transmit the notification of the non-match includes to log the non-match to a log file.
16. The device of claim 9 , wherein the second replay log is a compacted version of the rust replay log that has been generated using a compaction process.
17. A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations comprising:
determining that a first field is not utilized as a condition in at least one database command included in a first replay log;
in response to determining that the fight field is not unitized as a condition in the at least one database command included in the first replay log, replacing, in a first replay result, a first value of the first field included in a first database command in the first replay log with a first hash value;
replaying a second replay log to generate a second replay result; and
comparing the rust replay result and the second replay result to verify that the first replay log and the second replay log are equivalent.
18. The non-transitory computer readable medium of claim 17 , wherein replaying the second replay log comprises:
replacing a second value of a second field included in a second database command of the second replay log with a second hash value.
19. The non-transitory computer readable medium of claim 18 , wherein replacing the second value of the second field included in the second database command of the second replay log with the second hash value comprises:
replacing the second value of the second field included in the second database command of the second replay log with the second hash value responsive to a determination that the second field is not utilized as a condition in database commands included in the first replay log.
20. The non-transitory computer readable medium of claim 18 , wherein replacing the second value of the second field included in the second database command of the second replay log with the second hash value comprises:
replacing the second value of the second field included in the second database command of the second replay log with the second hash value responsive to a determination that the second field is not utilized as a condition in database commands included in the second replay log.