[ 
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)

Reply via email to