ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sunnychanwork <...@git.apache.org>
Subject [GitHub] ignite pull request #3100: IGNITE-5490 Ignite Continuous Query might not sen...
Date Tue, 28 Nov 2017 05:59:35 GMT
GitHub user sunnychanwork opened a pull request:

    https://github.com/apache/ignite/pull/3100

    IGNITE-5490 Ignite Continuous Query might not send update request

    During continuous query setup, there are potential updates in flight that would potentially
have a situation like this:
    
    T1 updates E1, lsnrs!=null, obtain update counter 1
    T2 updates E2, lsnrs==null, obtain update counter 2
    T3 updates E3, lsnrs!=null, obtain update counter 3
    
    Notice that as E1 E2 and E3 are different there are no locks and they can proceed in parallel.
As a result, the sequence of updates being sent to CQManager will be 1,3 with 2 missing and
it will wait for update 2 forever which will never come.
    
    To fix this I propose to use a ReadWrite lock to ensure that the Map Entry update will
complete before setting up new continuous query.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sunnychanwork/ignite IGNITE-5960

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/3100.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3100
    
----
commit 3cff5cf0ebc282c9300613e4d6726df5dd56ab60
Author: Sunny Chan, CLSA <sunny.chan@clsa.com>
Date:   2017-11-28T05:52:14Z

    IGNITE-5490 use a ReadWrite lock to ensure that the Map Entry update
    will complete before setting up new continuous query

----


---

Mime
View raw message