xiangfu0 commented on PR #19478:
URL: https://github.com/apache/pinot/pull/19478#issuecomment-5804485313
Restacked onto the current #19477 branch and master (this PR and #19477 were
both conflicting). This PR now shows 2 commits instead of 8 — worth explaining,
since the drop is deliberate.
This branch had been built directly on an old master commit rather than on
#19477, so it carried three duplicates of #19474/#19475/#19477 (`caac2497be`,
`e068c8a5d5`, `c11b2378f9` — verified byte-identical by patch-id to those PRs'
commits) plus four commits of metadata-interning work. Restacking onto #19477
makes the duplicates redundant, and they dropped out as empty.
The interning work is now in master, landed as the squash-merges #19473
("Share FieldSpecs and repeated values across segment metadata loads") and
#19584 ("Use dedicated weak interners for metadata column names and defaults").
Master's version is also the one to keep: re-applying the old commits would
have reintroduced `String.intern()` in place of the dedicated weak interners,
and two of their assertions are now false — one asserts identity against a
compile-time literal (only valid for JVM interning), and another asserts that
two `ComplexFieldSpec`s with different children are equal, which stopped
holding when #19592 added children to `ComplexFieldSpec.equals`.
One genuinely new fragment from that set was NOT dropped: 16 lines of SPI
Javadoc absent from master (`ColumnMetadata.getFieldSpec()` with its
sharing/immutability contract, and a note on `SegmentMetadata.getSchema()`) are
preserved as the first commit here.
Two conflicts were reconciled rather than resolved one-sided:
`ColumnMetadataImpl`'s class Javadoc keeps master's current sharing wording
plus this PR's 72-byte layout paragraph, and in `ImmutableSegmentImpl`'s
OPEN_STRUCT parent loop this PR's metadata-based lookup (the point of the
change — it avoids materializing the lazy Schema) is kept while master's two
diagnostic warnings are restored on that path.
Verified: all eight branches in the chain compile (`test-compile` across
pinot-segment-local, pinot-controller, pinot-server), and no commit's changes
were lost — the touched-file set is identical before and after, and every
PR-introduced line absent from the new tip traces to one of the
superseded-by-master cases above.
_🤖 Addressed by [Claude Code](https://claude.com/claude-code)_
--
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]