Importers return the WriteSummary of the file they write
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
Research direction
Read VortexWriter.finish() and the listed importer methods in ParquetImporter, CsvImporter, and JdbcImporter to trace how each writes its output. Start with the Parquet importer and the vortex-jni cross-check described in the issue, then add coverage for the other importers. Done means each importer returns its WriteSummary, and the Parquet summary matches the file's size, row count, and per-column statistics.
Written by the indexing model from the issue text.
Description
Follow-up to #664. VortexWriter.finish() returns a WriteSummary (file size, row count, per-column compressed size and statistics), but every importer drops it and returns void:
ParquetImporter.importParquet(Path|URI, Path[, ImportOptions])CsvImporter.importCsv(Path|URI, Path[, ImportOptions])JdbcImporter.importTable(...)/importQuery(...)
So a caller that wants the size or statistics of what it just imported has to open the file again. The CLI's vortex import and scripts/RaincloudCompare.java both reopen files for exactly this.
Proposal: each importer returns the WriteSummary from finish(). Going from void to a return value is source-compatible for callers. A URI import that reads the source remotely still writes a local file, so it returns the summary the same way.
What it enables:
RaincloudComparecan report per-column Java vs Rust sizes without reopening files (vortex-jni's writer already returnsVortexWriteSummary). That per-column breakdown is what traced #722, #723 and #724.vortex importcan print each column's compressed size.
Test: a vortex-jni cross-check that a Parquet import's returned summary matches what vortex-jni reads back from the file (fileSize, row count, per-column statistics), plus unit tests per importer.
- Dominant language
- Java
- Stars
- 3
- Forks
- 2
- Avg merge
- 9h 19m
- Merged PRs (30d)
- 154
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dfa1/vortex-java
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
dfa1/vortex-java#738 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
dfa1/vortex-java#737 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
dfa1/vortex-java#736 ·
Maintainers usually reply within 1 day
-
help wanted project
Difficulty 5/5 Over a week Newbie friendliness 25/100
dfa1/vortex-java#729 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 55/100
dfa1/vortex-java#723 ·
Maintainers usually reply within 1 day
All issues in dfa1/vortex-java
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 2/5 Under an hour Newbie friendliness 84/100
cpp-best-practices/project_validator#251 ·
Maintainers usually reply within 1 day
-
backend enhancement
Difficulty 2/5 Half a day Newbie friendliness 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changePossibly taken @dwizard0 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day