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

MatchFilter exception from UI on Uncoalesced Table #5482

Closed
cpwright opened this issue May 12, 2024 · 1 comment · Fixed by #5485
Closed

MatchFilter exception from UI on Uncoalesced Table #5482

cpwright opened this issue May 12, 2024 · 1 comment · Fixed by #5485
Labels
bug Something isn't working triage

Comments

@cpwright
Copy link
Contributor

Description

When you filter by Date, the table no longer coalesces; and if you operate in the UI filtering and sorting your table, you can get the following:

	at io.deephaven.engine.table.impl.select.MatchFilter.beginOperation(MatchFilter.java:220)
	at io.deephaven.engine.table.impl.select.ComposedFilter.lambda$beginOperation$0(ComposedFilter.java:83)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at io.deephaven.engine.table.impl.select.ComposedFilter.beginOperation(ComposedFilter.java:84)
	at io.deephaven.engine.table.impl.QueryTable.lambda$whereInternal$23(QueryTable.java:1271)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at io.deephaven.engine.table.impl.QueryTable.lambda$whereInternal$28(QueryTable.java:1271)
	at io.deephaven.engine.table.impl.QueryTable$MemoizedResult.getOrCompute(QueryTable.java:3674)
	at io.deephaven.engine.table.impl.QueryTable.memoizeResult(QueryTable.java:3643)
	at io.deephaven.engine.table.impl.QueryTable.lambda$whereInternal$29(QueryTable.java:1269)
	at io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder.withNugget(QueryPerformanceRecorder.java:369)
	at io.deephaven.engine.table.impl.QueryTable.whereInternal(QueryTable.java:1223)
	at io.deephaven.engine.table.impl.QueryTable.where(QueryTable.java:1162)
	at io.deephaven.engine.table.impl.QueryTable.where(QueryTable.java:100)
	at io.deephaven.engine.table.impl.DeferredViewTable.doCoalesce(DeferredViewTable.java:243)
	at io.deephaven.engine.table.impl.UncoalescedTable.coalesce(UncoalescedTable.java:78)
	at io.deephaven.engine.table.impl.UncoalescedTable.sort(UncoalescedTable.java:415)
	at io.deephaven.engine.table.impl.UncoalescedTable.sort(UncoalescedTable.java:43)
	at io.deephaven.server.table.ops.SortTableGrpcImpl.create(SortTableGrpcImpl.java:104)
	at io.deephaven.server.table.ops.SortTableGrpcImpl.create(SortTableGrpcImpl.java:26)
	at io.deephaven.server.table.ops.TableServiceGrpcImpl$BatchExportBuilder.doExport(TableServiceGrpcImpl.java:757)
	at io.deephaven.server.session.SessionState$ExportObject.doExport(SessionState.java:995)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at io.deephaven.server.runner.scheduler.SchedulerModule$ThreadFactory.lambda$newThread$0(SchedulerModule.java:100)
	at java.base/java.lang.Thread.run(Thread.java:840)

Versions

  • Deephaven: 0.34.1 (as part of Core+)
@cpwright cpwright added bug Something isn't working triage labels May 12, 2024
@cpwright
Copy link
Contributor Author

Another way to reproduce it is:
qpl=db.liveTable("DbInternal", "QueryPerformanceLogCoreV2").where("Date=today()", "ServerHost!=foo")
If you have only the partition filter (Date), then we are fine. Once you add the second filter that is not on the partitioning column; we blow up with:

heduler-Concurrent-1 | i.d.s.s.SessionState      | Internal Error '041083a7-53be-4d20-9904-93008f7cc002' java.lang.IllegalStateException: Inputs already initialized, use copy() instead of re-using a WhereFilter
	at io.deephaven.engine.table.impl.select.MatchFilter.beginOperation(MatchFilter.java:220)
	at io.deephaven.engine.table.impl.QueryTable.lambda$whereInternal$23(QueryTable.java:1271)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at io.deephaven.engine.table.impl.QueryTable.lambda$whereInternal$28(QueryTable.java:1271)
	at io.deephaven.engine.table.impl.QueryTable$MemoizedResult.getOrCompute(QueryTable.java:3674)
	at io.deephaven.engine.table.impl.QueryTable.memoizeResult(QueryTable.java:3643)
	at io.deephaven.engine.table.impl.QueryTable.lambda$whereInternal$29(QueryTable.java:1269)
	at io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder.withNugget(QueryPerformanceRecorder.java:369)
	at io.deephaven.engine.table.impl.QueryTable.whereInternal(QueryTable.java:1223)
	at io.deephaven.engine.table.impl.QueryTable.where(QueryTable.java:1162)
	at io.deephaven.engine.table.impl.QueryTable.where(QueryTable.java:100)
	at io.deephaven.engine.table.impl.DeferredViewTable.doCoalesce(DeferredViewTable.java:243)
	at io.deephaven.engine.table.impl.UncoalescedTable.coalesce(UncoalescedTable.java:78)
	at io.deephaven.engine.table.impl.DeferredViewTable.selectDistinct(DeferredViewTable.java:257)
	at io.deephaven.engine.table.impl.DeferredViewTable.selectDistinct(DeferredViewTable.java:29)
	at io.deephaven.api.TableOperationsDefaults.selectDistinct(TableOperationsDefaults.java:392)
	at io.deephaven.server.table.ops.SelectDistinctGrpcImpl.create(SelectDistinctGrpcImpl.java:46)
	at io.deephaven.server.table.ops.SelectDistinctGrpcImpl.create(SelectDistinctGrpcImpl.java:21)
	at io.deephaven.server.table.ops.TableServiceGrpcImpl.lambda$oneShotOperationWrapper$9(TableServiceGrpcImpl.java:667)
	at io.deephaven.server.session.SessionState$ExportObject.doExport(SessionState.java:995)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at io.deephaven.server.runner.scheduler.SchedulerModule$ThreadFactory.lambda$newThread$0(SchedulerModule.java:100)
	at java.base/java.lang.Thread.run(Thread.java:840)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage
Projects
None yet
1 participant