-
Notifications
You must be signed in to change notification settings - Fork 21
CNDB-14481: Fix IllegalStateException in SegmentMetadataBuilder (#1808) #1887
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adjusted imports |
Checklist before you submit for review
|
|
Looks like there may be 4 new failures - can you take a quick look at those to see if they repro and if they can either be fixed easily or open a tracking ticket? |
If an index analyzer produced no terms for a row, the index build could not complete and broke sstable flushing. This commit makes the SegmentBuilder ignore the whole row if there are no terms. Additionally more assertions / preconditions have been added to improve diagnostics. Fixes: Failed to complete an index build java.lang.IllegalStateException: Term range not set at org.apache.cassandra.index.sai.disk.v1.SegmentMetadataBuilder.build(SegmentMetadataBuilder.java:145) at org.apache.cassandra.index.sai.disk.v1.SegmentBuilder.flush(SegmentBuilder.java:470) at org.apache.cassandra.index.sai.disk.v1.SSTableIndexWriter.flushSegment(SSTableIndexWriter.java:286) at org.apache.cassandra.index.sai.disk.v1.SSTableIndexWriter.complete(SSTableIndexWriter.java:151)
Fixed by changing the exception to throw |
❌ Build ds-cassandra-pr-gate/PR-1887 rejected by Butler32 new test failure(s) in 2 builds Found 32 new test failuresShowing only first 15 new test failures
Found 5 known test failures |
If an index analyzer produced no terms for a row, the index build could not complete and broke sstable flushing.
This commit makes the SegmentBuilder ignore the whole row if there are no terms. Additionally more assertions / preconditions have been added to improve diagnostics.
Fixes:
Failed to complete an index build
java.lang.IllegalStateException: Term range not set at
org.apache.cassandra.index.sai.disk.v1.SegmentMetadataBuilder.build(SegmentMetadataBuilder.java:145) at
org.apache.cassandra.index.sai.disk.v1.SegmentBuilder.flush(SegmentBuilder.java:470) at
org.apache.cassandra.index.sai.disk.v1.SSTableIndexWriter.flushSegment(SSTableIndexWriter.java:286) at
org.apache.cassandra.index.sai.disk.v1.SSTableIndexWriter.complete(SSTableIndexWriter.java:151)