JingsongLi commented on PR #10101:
URL: https://github.com/apache/paimon/pull/10101#issuecomment-5952919827

   Re-reviewed exact head `24ee6182b36f6233a85702997a84c2215c4c58d0`. The 
streaming V2 container has clear production value, and the previously restored 
`FileIndexFormat`/`FileIndexer` compatibility entry points pass. I found one 
remaining ABI blocker outside those existing compatibility fixtures.
   
   **[P1] Preserve these remaining old file-index API descriptors.**
   
   - `FileIndexPredicate(SeekableInputStream, RowType)` was removed. A JDK 8 
client compiled against the actual base implementation reads a valid default V1 
bitmap and verifies both a hit and a miss with the base runtime. The identical 
bytecode on this head throws `NoSuchMethodError: 
FileIndexPredicate.<init>(SeekableInputStream, RowType)`. Retaining a 
deprecated two-argument constructor using the existing V1 reader compatibility 
path fixes the same probe; V2 does not have to be enabled to encounter the 
failure.
   - `CoreOptions.fileIndexInManifestThreshold()` and 
`FileIndexOptions.fileIndexInManifestThreshold()` changed their return type 
from `long` to `int`. Both old JVM descriptors end in `()J`; changing the 
return type removes them. Separate callers compiled against the actual base 
sources return the default threshold of 500 with the base runtime, but each 
throws `NoSuchMethodError` with this head. The new 0..`Integer.MAX_VALUE` 
validation can remain while these public getters keep returning `long`; narrow 
the value at the internal spill-buffer boundary.
   
   Please extend the compiled-old-client compatibility test to invoke these 
three descriptors. Existing compiled integrations cannot resolve them even when 
they continue to use the default V1 format.
   
   Verification: 61 focused JDK 8 tests passed with normal Maven checks: 16 
common format/predicate/plugin compatibility tests and 45 core option, writer, 
rewrite, evaluator and system-table tests. This includes streamed >2 GiB 
table-index creation/rewrite, V1/V2 multi-index predicates, and failed-write 
cleanup. The three additional old-bytecode probes above fail on the current 
head. Exact-head CI is green. The already-reported V1 extra file-status lookup 
remains pending as acknowledged in the September 26 reply; I am not duplicating 
that finding.
   


-- 
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]

Reply via email to