You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anilkumar Gingade (JIRA)" <ji...@apache.org> on 2016/09/15 22:01:21 UTC

[jira] [Created] (GEODE-1900) Missing update (subsctiption) event with partitioned region during bucket rebalance.

Anilkumar Gingade created GEODE-1900:
----------------------------------------

             Summary: Missing update (subsctiption) event with partitioned region during bucket rebalance.
                 Key: GEODE-1900
                 URL: https://issues.apache.org/jira/browse/GEODE-1900
             Project: Geode
          Issue Type: Bug
          Components: regions
            Reporter: Anilkumar Gingade


Similar to GEODE-1885...In this case the issue is with update and with both offheap and non-offheap regions.

During transaction operation, if there is concurrent redundant bucket re-balance is in progress, the client can miss update event, if its primary queue is hosted on the node where bucket gets moved from.

Consider, three node cluster N1, N2 and N3. With:

    Client C1 connected to node N2.
    Primary bucket region B1 on N1. And secondary bucket for B1 on N2.
    A Transaction is started on N2, which updates an entry on B1.
    When the TX is committed. At the same time the Bucket B1 on N2 is moved to N3.
    The Tx commit message from N1 is sent to N2. This also includes the subscription message, satisfying the client C1.
    On N2, for offheap region, when bucket is not found locally, the exception response is sent to back to N1 without processing the subscription message.

How to reproduce:

Add following tests/lines in ClientServerTransactionDUnitTest:

  public void testUpdateSubscriptionEventsWithOffheapPrWhileBucketRegionIsDestroyed() {   testSubscriptionEventsWithOffheapPrWhenBucketRegionIsDestroyed(forop.UPDATE);
  }

  public void testUpdateSubscriptionEventsWithPrWhileBucketRegionIsDestroyed() {
    testSubscriptionEventsWhenBucketRegionIsDestroyed(false, forop.UPDATE);
  }





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)