leaves12138 opened a new pull request, #9889:
URL: https://github.com/apache/paimon/pull/9889
### Purpose
Follow up on #9845 and #9886 by generating sidecars for newly created Java
manifests. Extracted from #9743 after rebasing that tracking PR onto current
master.
- Add `manifest.sidecar.write`, independently overridable and inheriting
`manifest-sort.enabled` when unset.
- Pass table options into the manifest factory and writer. Generate
partition coverage for every table, row-ID coverage for data evolution, and
bucket coverage when `bucket != -1`.
- Build from the completed physical manifest after closing its output
stream, including rolling writes and raw manifest rewrites.
- Publish `_EXTRA_FILES` only after the sidecar closes successfully. Writer
aborts and sidecar open/write/close failures clean up their own
manifest/sidecar pairs, including earlier rolled outputs.
- Keep row-ID statistics unavailable for invalid input ranges.
- Apply the requested blank line after the `ManifestIndexTestUtils` class
declaration.
This PR does not introduce sidecar scan pruning, a read option, Python
changes, or a format change. Those remain separate follow-ups.
### Validation
Java 8: 309 tests passed; one pre-existing disabled test was skipped.
Checkstyle, Spotless and micro-benchmark test compilation passed.
New tests cover unset/default/explicit write switches, no sidecar input I/O
when disabled, rolling outputs, raw-copy rewrites, publication after close,
abort cleanup, partitioned/unpartitioned tables, independent coverage
dimensions, invalid row IDs, and failures during sidecar creation, writing and
closing.
```sh
mvn -B -ntp -nsu -pl paimon-benchmark/paimon-micro-benchmarks -am \
-DwildcardSuites=none -DfailIfNoTests=false -Dflink.forkCount=2 \
'-Dtest=CoreOptionsTest,ManifestSidecarWriteTest,ManifestSidecarTest,ManifestBlockIndexTest,ManifestFileTest,ManifestFileMetaTest,NoPartitionManifestFileMetaTest,ManifestRewriteCleanupTest,ManifestSidecarLifecycleTest,FileStoreCommitTest#testCommitManifestMerge+testManifestSortCompactManifestRespectsCompactionThresholds,ExpireSnapshotsTest#testSidecarsFollowSnapshotAndTagRetention+testCleanUnusedManifestExtraFiles+testCleanManifestExtraFilesFollowsManifestRetention,LocalOrphanFilesCleanTest#testOrphanCleanupProtectsReferencedSidecars+testPreservesManifestExtraFiles'
test
```
--
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]