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

Error found in FuzzerTest.testLargeSetOfFuzzerQueriesSimTime (rollup downstream of merge) #4987

Open
rcaudy opened this issue Dec 23, 2023 · 1 comment
Assignees
Labels
bug Something isn't working core Core development tasks query engine
Milestone

Comments

@rcaudy
Copy link
Member

rcaudy commented Dec 23, 2023

We encountered an error in FuzzerTest.testLargeSetOfFuzzerQueriesSimTime when updating the base layer of a rollup downstream of a merge. We have not been able to reproduce.

https://scans.gradle.com/s/j5zgbiln2ukre/tests/task/:engine-table:testSerial/details/io.deephaven.engine.table.impl.FuzzerTest/testLargeSetOfFuzzerQueriesSimTime/1/output


[PeriodicUpdateGraph-updateExecutor-2] ERROR io.deephaven.engine.table.impl.InstrumentedTableListenerBase - Uncaught exception for entry= by(ROLLUP_BASE:[ColumnAggregation{spec=AggSpecStd{}, pair=ColumnName(MyShort)}, ColumnAggregation{spec=AggSpecMin{}, pair=ColumnName(MyInt)}, ColumnAggregation{spec=AggSpecMax{}, pair=ColumnName(MyDouble)}, ColumnAggregation{spec=AggSpecVar{}, pair=ColumnName(MyBigInteger)}, NullColumns{resultColumns={__ROLLUP__=interface io.deephaven.engine.table.Table}}]), added.size()=1, modified.size()=0, removed.size()=40, shifted.size()=0, modifiedColumnSet={}:
java.lang.NullPointerException: Cannot invoke "io.deephaven.engine.table.Table.getColumnSource(String)" because "table" is null
	at io.deephaven.engine.table.impl.sources.UnionSourceManager$TableSourceLookup.sourceFromTable(UnionSourceManager.java:724)
	at io.deephaven.engine.table.impl.sources.UnionSourceManager$TableSourceLookup.slotToCurrSource(UnionSourceManager.java:709)
	at io.deephaven.engine.table.impl.sources.UnionColumnSource$SlotState.prepare(UnionColumnSource.java:293)
	at io.deephaven.engine.table.impl.sources.UnionColumnSource$FillContext.fillChunkAppend(UnionColumnSource.java:369)
	at io.deephaven.engine.table.impl.sources.UnionColumnSource.fillChunk(UnionColumnSource.java:475)
	at io.deephaven.engine.table.impl.sources.ReversedColumnSource.fillChunk(ReversedColumnSource.java:163)
	at io.deephaven.engine.table.impl.DefaultChunkSource.getChunkByFilling(DefaultChunkSource.java:44)
	at io.deephaven.engine.table.impl.DefaultChunkSource.getChunk(DefaultChunkSource.java:31)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper.getChunk(ChunkedOperatorAggregationHelper.java:1537)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.propagateInsertsToOperators(ChunkedOperatorAggregationHelper.java:794)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.doInsertsForChunk(ChunkedOperatorAggregationHelper.java:755)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.doInserts(ChunkedOperatorAggregationHelper.java:741)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.computeDownstreamIndicesAndCopyKeys(ChunkedOperatorAggregationHelper.java:632)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$1.onUpdate(ChunkedOperatorAggregationHelper.java:281)
	at io.deephaven.engine.table.impl.InstrumentedTableUpdateListener$Notification.lambda$run$0(InstrumentedTableUpdateListener.java:37)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase$NotificationBase.doRunInternal(InstrumentedTableListenerBase.java:334)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase$NotificationBase.doRun(InstrumentedTableListenerBase.java:316)
	at io.deephaven.engine.table.impl.InstrumentedTableUpdateListener$Notification.run(InstrumentedTableUpdateListener.java:37)
	at io.deephaven.engine.updategraph.impl.BaseUpdateGraph.runNotification(BaseUpdateGraph.java:702)
	at io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph$ConcurrentNotificationProcessor.processSatisfiedNotifications(PeriodicUpdateGraph.java:835)
	at io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph$NotificationProcessorThreadFactory.lambda$newThread$0(PeriodicUpdateGraph.java:1109)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Received error notification: java.lang.NullPointerException: Cannot invoke "io.deephaven.engine.table.Table.getColumnSource(String)" because "table" is null
	at io.deephaven.engine.table.impl.sources.UnionSourceManager$TableSourceLookup.sourceFromTable(UnionSourceManager.java:724)
	at io.deephaven.engine.table.impl.sources.UnionSourceManager$TableSourceLookup.slotToCurrSource(UnionSourceManager.java:709)
	at io.deephaven.engine.table.impl.sources.UnionColumnSource$SlotState.prepare(UnionColumnSource.java:293)
	at io.deephaven.engine.table.impl.sources.UnionColumnSource$FillContext.fillChunkAppend(UnionColumnSource.java:369)
	at io.deephaven.engine.table.impl.sources.UnionColumnSource.fillChunk(UnionColumnSource.java:475)
	at io.deephaven.engine.table.impl.sources.ReversedColumnSource.fillChunk(ReversedColumnSource.java:163)
	at io.deephaven.engine.table.impl.DefaultChunkSource.getChunkByFilling(DefaultChunkSource.java:44)
	at io.deephaven.engine.table.impl.DefaultChunkSource.getChunk(DefaultChunkSource.java:31)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper.getChunk(ChunkedOperatorAggregationHelper.java:1537)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.propagateInsertsToOperators(ChunkedOperatorAggregationHelper.java:794)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.doInsertsForChunk(ChunkedOperatorAggregationHelper.java:755)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.doInserts(ChunkedOperatorAggregationHelper.java:741)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$KeyedUpdateContext.computeDownstreamIndicesAndCopyKeys(ChunkedOperatorAggregationHelper.java:632)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$1.onUpdate(ChunkedOperatorAggregationHelper.java:281)
	at io.deephaven.engine.table.impl.InstrumentedTableUpdateListener$Notification.lambda$run$0(InstrumentedTableUpdateListener.java:37)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase$NotificationBase.doRunInternal(InstrumentedTableListenerBase.java:334)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase$NotificationBase.doRun(InstrumentedTableListenerBase.java:316)
	at io.deephaven.engine.table.impl.InstrumentedTableUpdateListener$Notification.run(InstrumentedTableUpdateListener.java:37)
	at io.deephaven.engine.updategraph.impl.BaseUpdateGraph.runNotification(BaseUpdateGraph.java:702)
	at io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph$ConcurrentNotificationProcessor.processSatisfiedNotifications(PeriodicUpdateGraph.java:835)
	at io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph$NotificationProcessorThreadFactory.lambda$newThread$0(PeriodicUpdateGraph.java:1109)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Exception in thread "PeriodicUpdateGraph-updateExecutor-2" junit.framework.AssertionFailedError: Cannot invoke "io.deephaven.engine.table.Table.getColumnSource(String)" because "table" is null
	at junit.framework.Assert.fail(Assert.java:57)
	at junit.framework.TestCase.fail(TestCase.java:223)
	at io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.reportUpdateError(RefreshingTableTestCase.java:107)
	at io.deephaven.engine.table.impl.util.AsyncClientErrorNotifier.reportError(AsyncClientErrorNotifier.java:29)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase.onFailureInternalWithDependent(InstrumentedTableListenerBase.java:186)
	at io.deephaven.engine.table.impl.BaseTable$ListenerImpl.onFailureInternal(BaseTable.java:979)
	at io.deephaven.engine.table.impl.by.ChunkedOperatorAggregationHelper$1.onFailureInternal(ChunkedOperatorAggregationHelper.java:299)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase.onFailure(InstrumentedTableListenerBase.java:172)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase$NotificationBase.doRunInternal(InstrumentedTableListenerBase.java:364)
	at io.deephaven.engine.table.impl.InstrumentedTableListenerBase$NotificationBase.doRun(InstrumentedTableListenerBase.java:316)
	at io.deephaven.engine.table.impl.InstrumentedTableUpdateListener$Notification.run(InstrumentedTableUpdateListener.java:37)
	at io.deephaven.engine.updategraph.impl.BaseUpdateGraph.runNotification(BaseUpdateGraph.java:702)
	at io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph$ConcurrentNotificationProcessor.processSatisfiedNotifications(PeriodicUpdateGraph.java:835)
	at io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph$NotificationProcessorThreadFactory.lambda$newThread$0(PeriodicUpdateGraph.java:1109)
	at java.base/java.lang.Thread.run(Thread.java:1583)
@rcaudy rcaudy added bug Something isn't working triage labels Dec 23, 2023
@rcaudy rcaudy self-assigned this Dec 23, 2023
@rcaudy rcaudy added query engine core Core development tasks and removed triage labels Dec 23, 2023
@rcaudy rcaudy added this to the December 2023 milestone Dec 23, 2023
@rcaudy rcaudy changed the title Merge error found in FuzzerTest.testLargeSetOfFuzzerQueriesSimTime Error found in FuzzerTest.testLargeSetOfFuzzerQueriesSimTime (rollup downstream of merge) Dec 23, 2023
@nbauernfeind
Copy link
Member

This is the gradle scan output in case we don't get to it before it disappears.
output.txt

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

No branches or pull requests

3 participants