You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by nabarun nag <nn...@pivotal.io> on 2016/10/12 17:52:54 UTC

Review Request 52793: GEODE-1353: Added listeners to slow down the receiver.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52793/
-----------------------------------------------------------

Review request for geode, Barry Oglesby, Jason Huynh, Dan Smith, and xiaojian zhou.


Repository: geode


Description
-------

Scenario without the fix:

1. The test creates receivers and senders.
2. It initiates put operation on the sender as an async operation.
3. Immediately it destroys the receivers regions.
4. It assumes that sender must not have completed the transmission because receiver region is destroyed.
5. It checks that the sender's queue is not empty

Problem: Its assumption that senders have not completed the transmission before the receiver's region is destroyed is wrong. It may have completed the transmission and the test fails because sender queues are  empty.


Fix:
We slow down the receivers using addListenerToSleepAfterCreateEvent, hence we make sure that the senders are not able to complete the transmission before the receiver regions are destroyed. This function was used to solve similar timing related bugs in WAN.


* This was done to avoid the need for a very large number of puts.
* When region size is more than 5 it can initiate the destroy region
* While the puts have been reduced to 2000 from 20,000
* This will make sure the queue is not empty.


Diffs
-----

  geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java 4db4890 

Diff: https://reviews.apache.org/r/52793/diff/


Testing
-------

* Precheckin
* 100 Runs on IntelliJ


Thanks,

nabarun nag


Re: Review Request 52793: GEODE-1353: Added listeners to slow down the receiver.

Posted by Dan Smith <ds...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52793/#review153175
-----------------------------------------------------------


Ship it!




Ship It!

- Dan Smith


On Oct. 12, 2016, 5:52 p.m., nabarun nag wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52793/
> -----------------------------------------------------------
> 
> (Updated Oct. 12, 2016, 5:52 p.m.)
> 
> 
> Review request for geode, Barry Oglesby, Jason Huynh, Dan Smith, and xiaojian zhou.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Scenario without the fix:
> 
> 1. The test creates receivers and senders.
> 2. It initiates put operation on the sender as an async operation.
> 3. Immediately it destroys the receivers regions.
> 4. It assumes that sender must not have completed the transmission because receiver region is destroyed.
> 5. It checks that the sender's queue is not empty
> 
> Problem: Its assumption that senders have not completed the transmission before the receiver's region is destroyed is wrong. It may have completed the transmission and the test fails because sender queues are  empty.
> 
> 
> Fix:
> We slow down the receivers using addListenerToSleepAfterCreateEvent, hence we make sure that the senders are not able to complete the transmission before the receiver regions are destroyed. This function was used to solve similar timing related bugs in WAN.
> 
> 
> * This was done to avoid the need for a very large number of puts.
> * When region size is more than 5 it can initiate the destroy region
> * While the puts have been reduced to 2000 from 20,000
> * This will make sure the queue is not empty.
> 
> 
> Diffs
> -----
> 
>   geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java 4db4890 
> 
> Diff: https://reviews.apache.org/r/52793/diff/
> 
> 
> Testing
> -------
> 
> * Precheckin
> * 100 Runs on IntelliJ
> 
> 
> Thanks,
> 
> nabarun nag
> 
>