Handle missing source for no-op tombstones#22318
Conversation
Signed-off-by: Aneesh Nema <aneesh.nema@databricks.com>
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
|
❌ Gradle check result for 25dff87: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Description
Fixes #22317.
LuceneChangesSnapshotalready handles missing source for index operations, but no-op tombstones were still dereferencingfields.source()directly. This change routes no-op tombstones through the same missing-source handling:MissingHistoryOperationsExceptionwhen a complete range is requiredThe regression tests cover both paths by reading a no-op tombstone through a reader that hides the stored
_sourcefield.Testing
server:test --tests "org.opensearch.index.engine.LuceneChangesSnapshotTests"server:spotlessJavaCheck