Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DataIndexer#getOptimalPartialIndex NPEs if there is no available DataIndex for the requested columns #5447

Closed
abaranec opened this issue May 2, 2024 · 0 comments · Fixed by #5449
Assignees
Labels
bug Something isn't working core Core development tasks query engine
Milestone

Comments

@abaranec
Copy link
Contributor

abaranec commented May 2, 2024

Description
When whereIn initializes and fails to find a complete index it tries to find a partial index with DataIndex.getOptimalPartialIndex. If there is no DataIndex available for the requested columns it will try to call DataIndex#isRefreshing on the null result.

Steps to reproduce

@Test
    public void testBroken() {
        final Table t = emptyTable(10).update("Hello=ii", "Goodbye = `A`+ii");
        final Table t2 = emptyTable(2).update("Hello=ii", "Goodbye = `A`+ii");

        Path p = Paths.get("/tmp/Bagel");
        p.toFile().mkdirs();
        Path part = p.resolve("Part=Apple");
        part.toFile().mkdirs();
        io.deephaven.parquet.table.ParquetTools.writeTable(t, part.resolve("table.parquet").toFile());

        part = p.resolve("Part=Tomato");
        part.toFile().mkdirs();
        io.deephaven.parquet.table.ParquetTools.writeTable(t, part.resolve("table.parquet").toFile());

        Table qq = t.whereIn(t2, "Goodbye");

        final Table readback = io.deephaven.parquet.table.ParquetTools.readTable(p.toFile(), io.deephaven.parquet.table.ParquetInstructions.builder()
                .setFileLayout(io.deephaven.parquet.table.ParquetInstructions.ParquetFileLayout.KV_PARTITIONED).build());

        readback.whereIn(qq, "Goodbye");
    }

Expected results

The whereIn does the right thing

Actual results

NPE

Versions

  • Deephaven: 0.34.0
@abaranec abaranec added bug Something isn't working triage labels May 2, 2024
@rcaudy rcaudy added query engine core Core development tasks and removed triage labels May 2, 2024
@rcaudy rcaudy added this to the 2. April 2024 milestone May 2, 2024
@rcaudy rcaudy self-assigned this May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working core Core development tasks query engine
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants