[ https://issues.apache.org/jira/browse/GEODE-6488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan McMahon reassigned GEODE-6488: ----------------------------------- Assignee: Ryan McMahon > Query monitor may not remove all cancellation tasks if query object reused > -------------------------------------------------------------------------- > > Key: GEODE-6488 > URL: https://issues.apache.org/jira/browse/GEODE-6488 > Project: Geode > Issue Type: Bug > Components: querying > Reporter: Ryan McMahon > Assignee: Ryan McMahon > Priority: Major > Time Spent: 1.5h > Remaining Estimate: 0h > > If a query instance is reused and monitored by multiple threads, it is > possible that the cancellation tasks for each thread get unscheduled. This > is due to a single cancellation task reference on the DefaultQuery which can > get overwritten if multiple threads are using the same instance. > Scenario: > # Thread 1 monitors and executes a query, and its cancellation task gets > assigned to the query instance. > # Before Thread 1 stops monitoring, thread 2 monitors and executes using the > same query instance, so Thread 1's cancellation task gets overwritten > # Both threads request that the query no longer be monitored, but only > thread 2's cancellation task is unscheduled and removed, because we lost > thread 1's cancellation tasks reference when it was overwritten. -- This message was sent by Atlassian JIRA (v7.6.3#76005)