You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (JIRA)" <ji...@apache.org> on 2016/09/20 18:45:20 UTC

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

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

Darrel Schneider commented on GEODE-1900:
-----------------------------------------

The actual test lines that need to be added are:
{noformat}
  @Test
  public void testUpdateSubscriptionEventsWithOffheapPrWhileBucketRegionIsDestroyed()
  { testSubscriptionEventsWhenBucketRegionIsDestroyed(true, forop.UPDATE); }
  @Test
  public void testUpdateSubscriptionEventsWithPrWhileBucketRegionIsDestroyed()
  { testSubscriptionEventsWhenBucketRegionIsDestroyed(false, forop.UPDATE); }
{noformat}

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