You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As it seems:
Synchronized runner is created by runner.startSynchronizedSessionAsync, while the calling runner sets itself as the underlying runner (which is the main runner for the indexing session).
Let it be mainRunner and SyncRunner (where the latest points to `mainRunner).
runWithSynchronizedRunnerAndEndSession is called with the syncRunner, saves it in indexingCommon, the uses MoreAsyncUtil.composeWhenComplete to wait for the code to finish, then remove the syncRunner from indexingCommon.
When the indexer is closed, mainRunner is closed and if a syncRunner is not null, it closes too.
Typically the indexer is closed only after MoreAsyncUtil.composeWhenComplete gets to clear the syncRunner from common. But sometimes (seen it in exception path), the indexer is closed first and then:
Closes mainRunner
Closes syncRunner, which attempts to close the underlying runner, which is the mainRunner that cannot be re-closed.
The text was updated successfully, but these errors were encountered:
jjezra
added a commit
to jjezra/fdb-record-layer
that referenced
this issue
Sep 24, 2024
As it seems:
Synchronized runner is created by runner.startSynchronizedSessionAsync, while the calling runner sets itself as the underlying runner (which is the main runner for the indexing session).
Let it be mainRunner and SyncRunner (where the latest points to `mainRunner).
runWithSynchronizedRunnerAndEndSession is called with the syncRunner, saves it in indexingCommon, the uses MoreAsyncUtil.composeWhenComplete to wait for the code to finish, then remove the syncRunner from indexingCommon.
When the indexer is closed, mainRunner is closed and if a syncRunner is not null, it closes too.
Typically the indexer is closed only after MoreAsyncUtil.composeWhenComplete gets to clear the syncRunner from common. But sometimes (seen it in exception path), the indexer is closed first and then:
Closes mainRunner
Closes syncRunner, which attempts to close the underlying runner, which is the mainRunner that cannot be re-closed.
The text was updated successfully, but these errors were encountered: