You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Darrel Schneider <ds...@pivotal.io> on 2015/11/03 02:01:34 UTC

Review Request 39885: squash-a-thon week 2 fixes

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

Review request for geode and Kirk Lund.


Repository: geode


Description
-------

remove unused local var accidently added to unit test


GEODE-489: delegate in getRefCount

Certains subclasses of MemoryBlock do not have a refCount.
But the MemoryBlockNode implementation was always trying to
read a refCount using the memory address of the block.
Instead it should have delegated getRefCount to the MemoryBlock
implementation.

GEODE-464: Fix AutoBalancer test race condition

Instance of cache Initializer is not destroyed when the cache is destroyed. As a
result, a scheduled rebalance job can start after a different test starts. This
can cause failures. Add a destroy method to kill scheduler in test tearDown to
prevent orphaned tasks from failing other tests.

GEODE-361: fix expiry races in unit test

The test now uses WaitCriterion when waiting
for an expiration. Also it now configures
millisecond expiry so the test runs faster.

GEODE-244 Flush entries to disk in testRecoverRedundancyParallelAsyncEventQueue

The queue is configured for async persistence, which means entries were
being flushed to disk asynchronously. Due to GEODE-498, the size of the
buckets could vary widely if the entries were not flushed to disk,
causing the rebalance to have problems later.

GEODE-438: wait longer for event

Also the assertion messages now describe what the
test expects.

GEODE-367: wait longer for assertion

Also fixed assertion messages.

GEODE-452. We were checking cacheClientProxy after closing it. but sometimes client was reconnecting and queue again. Now we check after closing the client cache.


fixed GEODE-423 and GEODE-432. Now we start cacheserver using port 0. That will force cacheserver to find available port.


GEODE-502: Keeping a reference to RMI objects in the dunit framework

My suspicion with this failure is that the GC happened that cleaned up
one of these objects, if the RMI framework is not keeping a strong
reference to the class.

GEODE-467: fix race in off-heap memory monitor tests

I think this may have been caused by the monitor thread
continuing to run after the unit tests call stopMonitor.
They now call a flavor of the method that joins on the
monitor thread.

Fixes GEODE-495: fix for OffHeapManagementDUnitTest

- use a random port for the JMX manager
- fixed cleanup not to create cache if not created already

This closes #25

GEODE-469: Don't log a warning if a region is destroyed during creation

This test saw a suspect string because we logged a warning about a
RegionDestroyedException during region creation. I don't think this
warning should be logged, we don't log warnings for CancelExceptions.

GEODE-366: Wait for clear to be propegated in ClientHealthStatsDUnitTest

The clear was showing up asynchronously on the second client. By moving
the clear up before an existing wait, it should get to the second
client before that client does a put.

GEODE-501. test no-ack region thus we need to wait before validating the results.


GEODE-411: fix suspect string on disconnect

DistributionManager now has a isCloseInProgress method
that checks both the volatile closeInProgress boolean
and ask its DistributedSystem if it is disconnecting.
This new method is used in places that decide if a warning
should be logged.

GEODE-453: Ignoring suspect string in testRegisterInterestNoDataStores

Another suspect string from the same method.

Revert "GEODE-467: fix race in off-heap memory monitor tests"

This reverts commit 9d8e568b4b00085b5f2cf8b7d049027211b3f7d1. This
commit was causing the dunit runs to hang in stopMonitoring.

GEODE-467: fix race in off-heap memory monitor tests

Fixed the hang in testHeapLRUWithOverflowToDisk.
It turned out that in many cases the off-heap memory
usage listener thread was never terminating.
So when this test waited for it to terminate it hung.

[fixes GEODE-493] Fixes a race that an async thread not yet updating the PR metadata.


GEODE-371: The unfinished destroy operation is overwritten by the GII but the tombstone is left in cache. TombstoneGC on different members are not finished at the same time. When GII happened in this window, the expected deltaGII will become full GII.

However, after discussed with the team, we decide not to fix, only to enhance
the test to wait until the time window is over.

GEODE-513:

add expected exceptions for the exception test.

Include nested exception


GEODE-512: fix unit test suspect string reporter

A couple of problems that have been fixed:
1. If a stack has a "caused by" it will now be included
in the suspect string report.
2. Warning messages were only being partly ignored.
Now they are completely ignored. At some point in the
future we should consider treating a warning message
like error and severe messages.
3. A suspect message can now be up to 128 lines. It used
to be limited to 50 lines.

GEODE-454: Fix HAInterestPart1DUnitTest by adding expected exceptions

This test restarts 3 members while the client is connected. Like other fixes (see
GEODE-453), I think IOExceptions should be expected in this case also. I could
not reproduce this failure locally.

Added DEBUG logging to diagnose intermittent failure of testEntryTtlLocalDestroy


[fixes GEODE-477] add the exception as expected for the test.


[fixes GEODE-507] Add the exception as expected.


GEODE-518: fix intermittent EntryNotFoundException


GEODE-142: Rewrite testSleepWithInterrupt and remove faulty assertion


Merge remote-tracking branch 'origin/develop' into feature/GEODE-409


Diffs
-----

  gemfire-core/src/main/java/com/gemstone/gemfire/distributed/LocatorLauncher.java 5fdd2c73cd0454b39cb3c7296617e75367b16b1d 
  gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java 4ff0c626a8013027e8f29e41bc5a416686c47b8f 
  gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java 37f355f6039ca87df72354c19b8d15945b509bf9 
  gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java b5e6171d6345f48aff8e18f24632548cc32f330d 
  gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/control/OffHeapMemoryMonitor.java c4e9df685feb096c8856838bf0575fa9e206e7e7 
  gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/SimpleMemoryAllocatorImpl.java 554839dca91f032ef6ffef12aa43523f4879edd4 
  gemfire-core/src/test/java/batterytest/greplogs/LogConsumer.java 4909536f451c70cd92cb03def0f0f601a939a60e 
  gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java 3bddb5ad432887b73aa24a0a8fe27130ffa4e862 
  gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheTestCase.java 3ef9c27ac2e3a730f3c78c53866adf6908f3f965 
  gemfire-core/src/test/java/com/gemstone/gemfire/cache30/DistributedNoAckRegionCCEDUnitTest.java 98b8d11a1d3e0783f868ee3b2d2e824e73b26a28 
  gemfire-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java 50c0cfb90a711d8e28df23975e685bd055b18ce7 
  gemfire-core/src/test/java/com/gemstone/gemfire/cache30/RegionReliabilityTestCase.java 1f89bd20c49e5db50231f1ef5d49b022e875de54 
  gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistTXPersistentDebugDUnitTest.java dbd42c86c7e644da9a3e3b41f74a96342cb7a400 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java 38fc3abb797044aa94e4add65351b2e885bfb8ed 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/OffHeapEvictionDUnitTest.java 57cdfae78a23024af2da363f9f21948b13553ed5 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionOffHeapEvictionDUnitTest.java f07c5b1ac8cec1fe35ed013f529e21d27fa4993c 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java 048706aeff8ac96601e63ff8b09ac34664b5086d 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/RemoteTransactionDUnitTest.java 2eb63011a4e6cff6ef73eaf34170054b6b8fe10c 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/control/MemoryMonitorOffHeapJUnitTest.java d7a875c5428d8c8cf05ccc952f5f90f5f38f50fb 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/control/RebalanceOperationDUnitTest.java beaa1e856896d4f270bec118e77269860676c1ba 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionSingleHopDUnitTest.java c0b0d3c1c9919a946182b335607f746c835b9bff 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java 516655a827c209c5caafb1bc571c64014d8e6f86 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java 1b60c0bf7c6d39e8aee00e14dfbfd7123d84b818 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java b3e2889ef1f403ef6db9e4e29fd1af269f574468 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java 16020a537d3340e633aa8895688b9d061cbe6260 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart1DUnitTest.java ba6e30f666c4d67d9c6a359da924d39c9d59a139 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/compression/CompressionRegionConfigDUnitTest.java f0372b3793d07fe065e421cbe85b73bb41073894 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java 031afb003cfb13a62bbaf97ba3dc4cb6e3d74346 
  gemfire-core/src/test/java/com/gemstone/gemfire/management/ClientHealthStatsDUnitTest.java 730cc9df4818a38c502d43f30db3afb05ee1109f 
  gemfire-core/src/test/java/com/gemstone/gemfire/management/OffHeapManagementDUnitTest.java aca8ae092e27325f6f557cee2090c56053cebce7 
  gemfire-core/src/test/java/dunit/standalone/ChildVM.java d0a4e98492952daa52e1487220d1876029e7e12d 
  gemfire-core/src/test/java/dunit/standalone/DUnitLauncher.java 80b05c90236d939074e5eebb2045341cac63f77b 
  gemfire-rebalancer/src/main/java/com/gemstone/gemfire/cache/util/AutoBalancer.java 633ae3946c7cc146f3fa53dcf4c8c5feda530d1c 
  gemfire-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java cff9d6916f5621a5e1a51232f71934412e162fe7 
  gemfire-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerJUnitTest.java c0b672546d3198864c7849808005686ddf889105 

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


Testing
-------


Thanks,

Darrel Schneider


Re: Review Request 39885: squash-a-thon week 2 fixes

Posted by Kirk Lund <ki...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39885/#review104944
-----------------------------------------------------------

Ship it!


Two small issues to look into and then merge it


gemfire-core/src/test/java/com/gemstone/gemfire/cache30/DistributedNoAckRegionCCEDUnitTest.java (line 143)
<https://reviews.apache.org/r/39885/#comment163296>

    Is there a way to use a WaitCriterion here instead of a sleep?



gemfire-core/src/test/java/com/gemstone/gemfire/management/ClientHealthStatsDUnitTest.java (line 418)
<https://reviews.apache.org/r/39885/#comment163297>

    Is this sleep needed? It's happening at the end of the test.


- Kirk Lund


On Nov. 3, 2015, 1:01 a.m., Darrel Schneider wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/39885/
> -----------------------------------------------------------
> 
> (Updated Nov. 3, 2015, 1:01 a.m.)
> 
> 
> Review request for geode and Kirk Lund.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> remove unused local var accidently added to unit test
> 
> 
> GEODE-489: delegate in getRefCount
> 
> Certains subclasses of MemoryBlock do not have a refCount.
> But the MemoryBlockNode implementation was always trying to
> read a refCount using the memory address of the block.
> Instead it should have delegated getRefCount to the MemoryBlock
> implementation.
> 
> GEODE-464: Fix AutoBalancer test race condition
> 
> Instance of cache Initializer is not destroyed when the cache is destroyed. As a
> result, a scheduled rebalance job can start after a different test starts. This
> can cause failures. Add a destroy method to kill scheduler in test tearDown to
> prevent orphaned tasks from failing other tests.
> 
> GEODE-361: fix expiry races in unit test
> 
> The test now uses WaitCriterion when waiting
> for an expiration. Also it now configures
> millisecond expiry so the test runs faster.
> 
> GEODE-244 Flush entries to disk in testRecoverRedundancyParallelAsyncEventQueue
> 
> The queue is configured for async persistence, which means entries were
> being flushed to disk asynchronously. Due to GEODE-498, the size of the
> buckets could vary widely if the entries were not flushed to disk,
> causing the rebalance to have problems later.
> 
> GEODE-438: wait longer for event
> 
> Also the assertion messages now describe what the
> test expects.
> 
> GEODE-367: wait longer for assertion
> 
> Also fixed assertion messages.
> 
> GEODE-452. We were checking cacheClientProxy after closing it. but sometimes client was reconnecting and queue again. Now we check after closing the client cache.
> 
> 
> fixed GEODE-423 and GEODE-432. Now we start cacheserver using port 0. That will force cacheserver to find available port.
> 
> 
> GEODE-502: Keeping a reference to RMI objects in the dunit framework
> 
> My suspicion with this failure is that the GC happened that cleaned up
> one of these objects, if the RMI framework is not keeping a strong
> reference to the class.
> 
> GEODE-467: fix race in off-heap memory monitor tests
> 
> I think this may have been caused by the monitor thread
> continuing to run after the unit tests call stopMonitor.
> They now call a flavor of the method that joins on the
> monitor thread.
> 
> Fixes GEODE-495: fix for OffHeapManagementDUnitTest
> 
> - use a random port for the JMX manager
> - fixed cleanup not to create cache if not created already
> 
> This closes #25
> 
> GEODE-469: Don't log a warning if a region is destroyed during creation
> 
> This test saw a suspect string because we logged a warning about a
> RegionDestroyedException during region creation. I don't think this
> warning should be logged, we don't log warnings for CancelExceptions.
> 
> GEODE-366: Wait for clear to be propegated in ClientHealthStatsDUnitTest
> 
> The clear was showing up asynchronously on the second client. By moving
> the clear up before an existing wait, it should get to the second
> client before that client does a put.
> 
> GEODE-501. test no-ack region thus we need to wait before validating the results.
> 
> 
> GEODE-411: fix suspect string on disconnect
> 
> DistributionManager now has a isCloseInProgress method
> that checks both the volatile closeInProgress boolean
> and ask its DistributedSystem if it is disconnecting.
> This new method is used in places that decide if a warning
> should be logged.
> 
> GEODE-453: Ignoring suspect string in testRegisterInterestNoDataStores
> 
> Another suspect string from the same method.
> 
> Revert "GEODE-467: fix race in off-heap memory monitor tests"
> 
> This reverts commit 9d8e568b4b00085b5f2cf8b7d049027211b3f7d1. This
> commit was causing the dunit runs to hang in stopMonitoring.
> 
> GEODE-467: fix race in off-heap memory monitor tests
> 
> Fixed the hang in testHeapLRUWithOverflowToDisk.
> It turned out that in many cases the off-heap memory
> usage listener thread was never terminating.
> So when this test waited for it to terminate it hung.
> 
> [fixes GEODE-493] Fixes a race that an async thread not yet updating the PR metadata.
> 
> 
> GEODE-371: The unfinished destroy operation is overwritten by the GII but the tombstone is left in cache. TombstoneGC on different members are not finished at the same time. When GII happened in this window, the expected deltaGII will become full GII.
> 
> However, after discussed with the team, we decide not to fix, only to enhance
> the test to wait until the time window is over.
> 
> GEODE-513:
> 
> add expected exceptions for the exception test.
> 
> Include nested exception
> 
> 
> GEODE-512: fix unit test suspect string reporter
> 
> A couple of problems that have been fixed:
> 1. If a stack has a "caused by" it will now be included
> in the suspect string report.
> 2. Warning messages were only being partly ignored.
> Now they are completely ignored. At some point in the
> future we should consider treating a warning message
> like error and severe messages.
> 3. A suspect message can now be up to 128 lines. It used
> to be limited to 50 lines.
> 
> GEODE-454: Fix HAInterestPart1DUnitTest by adding expected exceptions
> 
> This test restarts 3 members while the client is connected. Like other fixes (see
> GEODE-453), I think IOExceptions should be expected in this case also. I could
> not reproduce this failure locally.
> 
> Added DEBUG logging to diagnose intermittent failure of testEntryTtlLocalDestroy
> 
> 
> [fixes GEODE-477] add the exception as expected for the test.
> 
> 
> [fixes GEODE-507] Add the exception as expected.
> 
> 
> GEODE-518: fix intermittent EntryNotFoundException
> 
> 
> GEODE-142: Rewrite testSleepWithInterrupt and remove faulty assertion
> 
> 
> Merge remote-tracking branch 'origin/develop' into feature/GEODE-409
> 
> 
> Diffs
> -----
> 
>   gemfire-core/src/main/java/com/gemstone/gemfire/distributed/LocatorLauncher.java 5fdd2c73cd0454b39cb3c7296617e75367b16b1d 
>   gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java 4ff0c626a8013027e8f29e41bc5a416686c47b8f 
>   gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java 37f355f6039ca87df72354c19b8d15945b509bf9 
>   gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java b5e6171d6345f48aff8e18f24632548cc32f330d 
>   gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/control/OffHeapMemoryMonitor.java c4e9df685feb096c8856838bf0575fa9e206e7e7 
>   gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/SimpleMemoryAllocatorImpl.java 554839dca91f032ef6ffef12aa43523f4879edd4 
>   gemfire-core/src/test/java/batterytest/greplogs/LogConsumer.java 4909536f451c70cd92cb03def0f0f601a939a60e 
>   gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java 3bddb5ad432887b73aa24a0a8fe27130ffa4e862 
>   gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheTestCase.java 3ef9c27ac2e3a730f3c78c53866adf6908f3f965 
>   gemfire-core/src/test/java/com/gemstone/gemfire/cache30/DistributedNoAckRegionCCEDUnitTest.java 98b8d11a1d3e0783f868ee3b2d2e824e73b26a28 
>   gemfire-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java 50c0cfb90a711d8e28df23975e685bd055b18ce7 
>   gemfire-core/src/test/java/com/gemstone/gemfire/cache30/RegionReliabilityTestCase.java 1f89bd20c49e5db50231f1ef5d49b022e875de54 
>   gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistTXPersistentDebugDUnitTest.java dbd42c86c7e644da9a3e3b41f74a96342cb7a400 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java 38fc3abb797044aa94e4add65351b2e885bfb8ed 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/OffHeapEvictionDUnitTest.java 57cdfae78a23024af2da363f9f21948b13553ed5 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionOffHeapEvictionDUnitTest.java f07c5b1ac8cec1fe35ed013f529e21d27fa4993c 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java 048706aeff8ac96601e63ff8b09ac34664b5086d 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/RemoteTransactionDUnitTest.java 2eb63011a4e6cff6ef73eaf34170054b6b8fe10c 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/control/MemoryMonitorOffHeapJUnitTest.java d7a875c5428d8c8cf05ccc952f5f90f5f38f50fb 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/control/RebalanceOperationDUnitTest.java beaa1e856896d4f270bec118e77269860676c1ba 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionSingleHopDUnitTest.java c0b0d3c1c9919a946182b335607f746c835b9bff 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java 516655a827c209c5caafb1bc571c64014d8e6f86 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java 1b60c0bf7c6d39e8aee00e14dfbfd7123d84b818 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java b3e2889ef1f403ef6db9e4e29fd1af269f574468 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java 16020a537d3340e633aa8895688b9d061cbe6260 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart1DUnitTest.java ba6e30f666c4d67d9c6a359da924d39c9d59a139 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/compression/CompressionRegionConfigDUnitTest.java f0372b3793d07fe065e421cbe85b73bb41073894 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java 031afb003cfb13a62bbaf97ba3dc4cb6e3d74346 
>   gemfire-core/src/test/java/com/gemstone/gemfire/management/ClientHealthStatsDUnitTest.java 730cc9df4818a38c502d43f30db3afb05ee1109f 
>   gemfire-core/src/test/java/com/gemstone/gemfire/management/OffHeapManagementDUnitTest.java aca8ae092e27325f6f557cee2090c56053cebce7 
>   gemfire-core/src/test/java/dunit/standalone/ChildVM.java d0a4e98492952daa52e1487220d1876029e7e12d 
>   gemfire-core/src/test/java/dunit/standalone/DUnitLauncher.java 80b05c90236d939074e5eebb2045341cac63f77b 
>   gemfire-rebalancer/src/main/java/com/gemstone/gemfire/cache/util/AutoBalancer.java 633ae3946c7cc146f3fa53dcf4c8c5feda530d1c 
>   gemfire-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java cff9d6916f5621a5e1a51232f71934412e162fe7 
>   gemfire-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerJUnitTest.java c0b672546d3198864c7849808005686ddf889105 
> 
> Diff: https://reviews.apache.org/r/39885/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Darrel Schneider
> 
>