[ 
https://issues.apache.org/jira/browse/GEODE-8926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17316574#comment-17316574
 ] 

ASF subversion and git services commented on GEODE-8926:
--------------------------------------------------------

Commit 2ffaa34fe3d2f3f89dcd12eb810878bf79ccb8d5 in geode's branch 
refs/heads/support/1.13 from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=2ffaa34 ]

GEODE-8926: Calculate filter information after tx is applied to cache. (#6232)

  * Calculate filter routing on tx host node for partitioned regions after tx 
is applied to cache.
    This is to avoid concurrent register interest or cq registration miss the 
operations either
    from snapshot/query results or through client cache update.
  * Register interest snapshot taken or cq query with inital results are taken 
on primary buckets now
    to make sure the results are correct.
  * Avoid calculating filter routing multiple times with TX.

  Co-authored-by: agingade <aging...@vmware.com>

(cherry picked from commit dedcea3b745a35a56b28fae7cd50042822e1629b)


> CQ events can be missed while executing with initial results simultaneously 
> with transactions
> ---------------------------------------------------------------------------------------------
>
>                 Key: GEODE-8926
>                 URL: https://issues.apache.org/jira/browse/GEODE-8926
>             Project: Geode
>          Issue Type: Bug
>          Components: cq
>            Reporter: Barrett Oglesby
>            Assignee: Eric Shu
>            Priority: Major
>              Labels: blocks-1.14.0​, pull-request-available
>             Fix For: 1.14.0, 1.15.0
>
>         Attachments: cq_with_transaction_behavior.png
>
>
> In this case, the event is not in either the initial results or received in 
> the CqListener.
> A test that shows the behavior is:
> - 2 servers with:
>  - a root PR
>  - a colocated child PR
> In a client, asynchronously:
> - start a transaction that:
> - does N puts into the root PR
> - does 1 put into the child PR
> - commit the transaction
> In the client:
> create N CQs with initial results with: 'select * from /childPR'
> When the test succeeds, all the CQs either get the 1 event in their initial 
> results or in their CqListener.
> When the test fails, one or more CQs don't see the event either way.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to