Skip to content

Conversation

@ijon
Copy link
Collaborator

@ijon ijon commented May 12, 2025

Fix crash when selecting split key from key access sample containing entries of different sizes. Size differences could occur when exact key accesses are mixed with key prefix operations (such as range reads). But the key comparator used was asymmetrical, allowing comparison of full keys to prefixes but not vice versa.

fix #13991

Changelog entry

Table auto splitting-merging: Fixed crash when selecting split key from access samples containing a mix of full key and key prefix operations (e.g. exact/range reads).

Changelog category

  • Bugfix
@ijon ijon requested a review from a team as a code owner May 12, 2025 10:24
@github-actions
Copy link

github-actions bot commented May 12, 2025

🟢 2025-05-12 12:44:43 UTC The validation of the Pull Request description is successful.

@github-actions
Copy link

github-actions bot commented May 12, 2025

2025-05-12 10:28:09 UTC Pre-commit check linux-x86_64-release-asan for ee2a144 has started.
2025-05-12 10:28:20 UTC Artifacts will be uploaded here
2025-05-12 10:31:16 UTC ya make is running...
🟡 2025-05-12 12:03:25 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
12760 12596 0 92 41 31

2025-05-12 12:04:33 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-05-12 12:36:57 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1647 (only retried tests) 1533 0 62 25 27

2025-05-12 12:37:14 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-05-12 13:10:51 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1286 (only retried tests) 1169 0 61 28 28

🟢 2025-05-12 13:11:06 UTC Build successful.
🟢 2025-05-12 13:11:36 UTC ydbd size 3.9 GiB changed* by -800 Bytes, which is <= 0 Bytes vs main: OK

ydbd size dash main: da5cb37 merge: ee2a144 diff diff %
ydbd size 4 137 940 728 Bytes 4 137 939 928 Bytes -800 Bytes -0.000%
ydbd stripped size 1 435 922 080 Bytes 1 435 923 104 Bytes +1.0 KiB +0.000%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented May 12, 2025

2025-05-12 10:30:19 UTC Pre-commit check linux-x86_64-relwithdebinfo for ee2a144 has started.
2025-05-12 10:31:05 UTC Artifacts will be uploaded here
2025-05-12 10:34:26 UTC ya make is running...
🟡 2025-05-12 11:48:45 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
20763 19390 0 2 1334 37

2025-05-12 11:50:29 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-05-12 12:15:48 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
156 (only retried tests) 127 0 0 0 29

🟢 2025-05-12 12:15:57 UTC Build successful.
🟢 2025-05-12 12:16:19 UTC ydbd size 2.2 GiB changed* by +2.0 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: da5cb37 merge: ee2a144 diff diff %
ydbd size 2 351 909 104 Bytes 2 351 911 184 Bytes +2.0 KiB +0.000%
ydbd stripped size 494 236 496 Bytes 494 237 584 Bytes +1.1 KiB +0.000%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions github-actions bot added bugfix and removed bugfix labels May 12, 2025
@ijon ijon merged commit cdde9e6 into ydb-platform:main May 14, 2025
19 checks passed
@ijon ijon deleted the schemeshard-histogram-keys-comparison branch May 14, 2025 16:52
ijon added a commit to ijon/ydb that referenced this pull request May 15, 2025
…#18201) Fix crash when selecting split key from key access sample containing entries of different sizes. Size differences could occur when exact key accesses are mixed with key prefix operations (such as range reads). But the key comparator used was asymmetrical, allowing comparison of full keys to prefixes but not vice versa. fix ydb-platform#13991
nshestakov pushed a commit to nshestakov/ydb that referenced this pull request May 20, 2025
…#18201) Fix crash when selecting split key from key access sample containing entries of different sizes. Size differences could occur when exact key accesses are mixed with key prefix operations (such as range reads). But the key comparator used was asymmetrical, allowing comparison of full keys to prefixes but not vice versa. fix ydb-platform#13991
CyberROFL pushed a commit to CyberROFL/ydb that referenced this pull request May 27, 2025
…#18201) Fix crash when selecting split key from key access sample containing entries of different sizes. Size differences could occur when exact key accesses are mixed with key prefix operations (such as range reads). But the key comparator used was asymmetrical, allowing comparison of full keys to prefixes but not vice versa. fix ydb-platform#13991
xyliganSereja pushed a commit to xyliganSereja/ydb_work that referenced this pull request Jun 3, 2025
…#18201) Fix crash when selecting split key from key access sample containing entries of different sizes. Size differences could occur when exact key accesses are mixed with key prefix operations (such as range reads). But the key comparator used was asymmetrical, allowing comparison of full keys to prefixes but not vice versa. fix ydb-platform#13991
ijon added a commit to ijon/ydb that referenced this pull request Jun 11, 2025
…#18201) Fix crash when selecting split key from key access sample containing entries of different sizes. Size differences could occur when exact key accesses are mixed with key prefix operations (such as range reads). But the key comparator used was asymmetrical, allowing comparison of full keys to prefixes but not vice versa. fix ydb-platform#13991
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2 participants