Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@KnightMurloc
Copy link

When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.
@Stolb27 Stolb27 merged commit cfcf088 into 2.52-ci Jul 23, 2025
40 of 44 checks passed
@Stolb27 Stolb27 deleted the ADBM-2436-ci branch July 23, 2025 14:22
KnightMurloc added a commit that referenced this pull request Aug 28, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Aug 29, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Aug 29, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Sep 1, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Sep 1, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Sep 5, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Sep 15, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Sep 16, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
KnightMurloc added a commit that referenced this pull request Sep 18, 2025
When the WAL record is divided into 2 files, both xl_info and xl_rmid are in one
file, and the checksum is in the other. Then, when processing the first file,
xl_info and xl_rmid could have been changed, but not the checksum, since it is
in another file. When processing the next file, the checksum would also not have
been changed since xl_info and xl_rmid are in the previous file. This led to the
fact that we could get a recovery error stating that the checksum did not
converge.

Fix this by reading and processing records from previous and next files,
regardless of which part of the records divided into 2 files is in the current
file.
These changes also revealed a number of errors in the tests related to incorrect
filling of the xlp_rem_len header field. These errors have also been fixed.

Ticket: ADBM-2436
(cherry picked from commit cfcf088)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants