xiangfu0 commented on code in PR #19894:
URL: https://github.com/apache/pinot/pull/19894#discussion_r4300520484
##########
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/utils/LuceneIndexCompatibilityUtilsTest.java:
##########
@@ -68,9 +72,17 @@ public void tearDown()
@Test
public void testNewerFormatsIncludingOlderCreationVersion()
throws IOException {
+ if (Version.LATEST.major != 9) {
Review Comment:
The newer-format assertions passed in the 117-test Lucene 9.12 recovery run;
both #19900 unit CI sets also passed. On Lucene 10 those same fixtures are
readable, so only the Lucene9-only assertions skip; generic compatibility,
corruption/I/O, and interrupted-build coverage remains active. After rebasing,
full runtime CI stays pinned to merged recovery a45ebf0137 for the 9→10→9 path.
##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/vector/lucene99/HnswCodec.java:
##########
@@ -18,21 +18,21 @@
*/
package org.apache.pinot.segment.local.segment.creator.impl.vector.lucene99;
-import org.apache.lucene.backward_codecs.lucene90.Lucene90PostingsFormat;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FilterCodec;
import org.apache.lucene.codecs.KnnVectorsFormat;
import org.apache.lucene.codecs.PointsFormat;
import org.apache.lucene.codecs.PostingsFormat;
+import org.apache.lucene.codecs.lucene100.Lucene100Codec;
import org.apache.lucene.codecs.lucene90.Lucene90DocValuesFormat;
import org.apache.lucene.codecs.lucene90.Lucene90PointsFormat;
-import org.apache.lucene.codecs.lucene912.Lucene912Codec;
+import org.apache.lucene.codecs.lucene912.Lucene912PostingsFormat;
import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
import org.apache.lucene.codecs.perfield.PerFieldKnnVectorsFormat;
import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
Review Comment:
Fixed in 8a2ba18849: the HnswCodec @see now points to lucene100.
##########
.github/workflows/pinot_compatibility_checks.yml:
##########
@@ -48,32 +46,53 @@ concurrency:
cancel-in-progress: true
jobs:
- binary-compat-check:
+ compatibility-baselines:
if: github.repository == 'apache/pinot'
runs-on: ubuntu-latest
- name: Pinot Binary Compatibility Check
+ outputs:
+ sha: ${{ steps.baseline.outputs.sha }}
+ runtime_commits: ${{ steps.baseline.outputs.runtime_commits }}
steps:
- uses: actions/[email protected]
with:
fetch-depth: 2
- - name: Select binary compatibility baseline
- id: binary-baseline
+ - name: Select compatibility baselines
+ id: baseline
env:
PUSH_BEFORE_SHA: ${{ github.event.before }}
run: |
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
- # Compare against the master snapshot actually included in the
tested merge.
+ # Compare against the base snapshot actually included in the
tested merge.
BASELINE=$(git rev-parse HEAD^1)
else
# A push can contain multiple commits, so compare the entire
pushed range.
BASELINE="$PUSH_BEFORE_SHA"
fi
if [[ -z "$BASELINE" || "$BASELINE" ==
"0000000000000000000000000000000000000000" ]]; then
- echo "::error::No previous commit is available for the binary
compatibility baseline"
+ echo "::error::No previous commit is available for the
compatibility baseline"
exit 1
fi
echo "Comparing baseline $BASELINE against $(git rev-parse HEAD)"
echo "sha=$BASELINE" >> "$GITHUB_OUTPUT"
+ # #19900 is the minimum Lucene 9.12 rollback target for Lucene 10
writers.
+ # Unpatched releases (including 1.5.0) cannot read the newly
generated Lucene indexes.
+ RECOVERY_BASELINE_SHA=fbe82e7e25a4b5c642c75ecf42d6f62b884174e5
Review Comment:
Addressed in 8a2ba18849 after #19900 merged: #19894 now targets master, the
six master PR filters are restored, and the rollback baseline is pinned to
merged Lucene9.12 commit a45ebf01379257591c27c900c3525612a3c49b92. Full
sample/MSE stages and baseline deduplication remain intact.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]