[1/2] incubator-geode git commit: GEODE-114: fix race condition in DefaultGemFireConnection.getRegionProxy
Repository: incubator-geode Updated Branches: refs/heads/feature/GEODE-9 60d074cc7 - 89b9aaff8 GEODE-114: fix race condition in DefaultGemFireConnection.getRegionProxy Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/dc1c1559 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/dc1c1559 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/dc1c1559 Branch: refs/heads/feature/GEODE-9 Commit: dc1c1559dd8a38ffade204f5440755338de2a5c8 Parents: 2793365 Author: Qihong Chen qc...@pivotal.io Authored: Tue Jul 14 16:49:18 2015 -0700 Committer: Qihong Chen qc...@pivotal.io Committed: Wed Jul 15 09:44:34 2015 -0700 -- .../internal/DefaultGemFireConnection.scala | 8 --- .../DefaultGemFireConnectionManager.scala | 24 ++-- 2 files changed, 22 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dc1c1559/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnection.scala -- diff --git a/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnection.scala b/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnection.scala index e31186b..bba6c69 100644 --- a/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnection.scala +++ b/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnection.scala @@ -23,8 +23,6 @@ private[connector] class DefaultGemFireConnection ( extends GemFireConnection with Logging { private val clientCache = initClientCache() - /** a lock object only used by getRegionProxy...() */ - private val regionLock = new Object /** Register GemFire functions to the GemFire cluster */ FunctionService.registerFunction(RetrieveRegionMetadataFunction.getInstance()) @@ -81,7 +79,7 @@ private[connector] class DefaultGemFireConnection ( def getRegionProxy[K, V](regionPath: String): Region[K, V] = { val region1: Region[K, V] = clientCache.getRegion(regionPath).asInstanceOf[Region[K, V]] if (region1 != null) region1 -else regionLock.synchronized { +else DefaultGemFireConnection.regionLock.synchronized { val region2 = clientCache.getRegion(regionPath).asInstanceOf[Region[K, V]] if (region2 != null) region2 else clientCache.createClientRegionFactory[K, V](ClientRegionShortcut.PROXY).create(regionPath) @@ -116,6 +114,10 @@ private[connector] class DefaultGemFireConnection ( } } +private[connector] object DefaultGemFireConnection { + /** a lock object only used by getRegionProxy...() */ + private val regionLock = new Object +} /** The purpose of this class is making unit test DefaultGemFireConnectionManager easier */ class DefaultGemFireConnectionFactory { http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dc1c1559/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnectionManager.scala -- diff --git a/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnectionManager.scala b/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnectionManager.scala index 0463340..7495c60 100644 --- a/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnectionManager.scala +++ b/gemfire-spark-connector/gemfire-spark-connector/src/main/scala/io/pivotal/gemfire/spark/connector/internal/DefaultGemFireConnectionManager.scala @@ -23,17 +23,27 @@ object DefaultGemFireConnectionManager { private[connector] val connections = mutable.Map[(String, Int), GemFireConnection]() /** - * use locator host:port pair to lookup connection. create new connection and add it - * to `connections` if it does not exists. + * use locator host:port pair to lookup cached connection. create new connection + * and add it to the cache `connections` if it does not exist. */ def getConnection(connConf: GemFireConnectionConf) (implicit factory: DefaultGemFireConnectionFactory = new DefaultGemFireConnectionFactory): GemFireConnection = { -val conns = connConf.locators.map(connections withDefaultValue null).filter(_ != null) -if (conns.nonEmpty)
[2/2] incubator-geode git commit: Merge branch 'GEODE-114' into feature/GEODE-9
Merge branch 'GEODE-114' into feature/GEODE-9 Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/89b9aaff Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/89b9aaff Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/89b9aaff Branch: refs/heads/feature/GEODE-9 Commit: 89b9aaff835cd3545a94bd5b06ce7f0a4c8a2b4b Parents: 60d074c dc1c155 Author: Qihong Chen qc...@pivotal.io Authored: Thu Jul 16 10:11:33 2015 -0700 Committer: Qihong Chen qc...@pivotal.io Committed: Thu Jul 16 10:11:33 2015 -0700 -- .../internal/DefaultGemFireConnection.scala | 8 --- .../DefaultGemFireConnectionManager.scala | 24 ++-- 2 files changed, 22 insertions(+), 10 deletions(-) --
[2/3] incubator-geode git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-geode into develop
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-geode into develop Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/95d7f186 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/95d7f186 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/95d7f186 Branch: refs/heads/develop Commit: 95d7f186e35e9865e815130494e8d8c52b97b59b Parents: ad038b3 abb7755 Author: kbachhav kbachhav.pivotal.io Authored: Wed Jul 15 17:14:40 2015 +0530 Committer: kbachhav kbachhav.pivotal.io Committed: Wed Jul 15 17:14:40 2015 +0530 -- .../jgroup/JGroupMembershipManager.java | 2 +- .../gemfire/internal/cache/DiskEntry.java | 15 +- .../gemfire/internal/cache/DiskRegion.java | 9 + .../gemfire/internal/cache/DiskRegionStats.java | 22 ++ .../internal/cache/PartitionedRegion.java | 1 + .../internal/cache/PartitionedRegionStats.java | 12 +- .../cache/control/InternalResourceManager.java | 15 +- .../control/PartitionRebalanceDetailsImpl.java | 8 +- .../cache/control/RebalanceOperationImpl.java | 157 + .../cache/control/RebalanceResultsImpl.java | 16 +- .../PartitionedRegionRebalanceOp.java | 100 +--- .../partitioned/rebalance/BucketOperator.java | 46 +++- .../rebalance/ParallelBucketOperator.java | 145 .../rebalance/PartitionedRegionLoadModel.java | 45 +++- .../rebalance/SatisfyRedundancy.java| 7 +- .../rebalance/SatisfyRedundancyFPR.java | 1 + .../rebalance/SimulatedBucketOperator.java | 11 +- .../control/RebalanceOperationDUnitTest.java| 232 ++- .../PartitionedRegionLoadModelJUnitTest.java| 97 +++- .../gemstone/org/jgroups/protocols/FRAG2.java | 2 +- .../gemstone/org/jgroups/protocols/SMACK.java | 3 +- .../gemstone/org/jgroups/protocols/UDP_NIO.java | 4 +- .../org/jgroups/protocols/VIEW_ENFORCER.java| 2 +- 23 files changed, 824 insertions(+), 128 deletions(-) --
[3/3] incubator-geode git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-geode into develop
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-geode into develop Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/3426939e Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/3426939e Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/3426939e Branch: refs/heads/develop Commit: 3426939e690ae8e802a12a4a1bd40e402c0338fb Parents: 95d7f18 4f8c8cd Author: kbachhav kbachhav.pivotal.io Authored: Thu Jul 16 11:45:05 2015 +0530 Committer: kbachhav kbachhav.pivotal.io Committed: Thu Jul 16 11:45:05 2015 +0530 -- .../MemoryThresholdsOffHeapDUnitTest.java | 48 +++- 1 file changed, 37 insertions(+), 11 deletions(-) --
[1/3] incubator-geode git commit: [fixes #50618] : SingleHopGetAllPutAllDUnitTest: testServerGetAllFunction fails in CC r47313 -Key's are formed based on string execKey + integer. These keys does no
Repository: incubator-geode Updated Branches: refs/heads/develop 4f8c8cd85 - 3426939e6 [fixes #50618] : SingleHopGetAllPutAllDUnitTest: testServerGetAllFunction fails in CC r47313 -Key's are formed based on string execKey + integer. These keys does not guarantee that they wil be mapped to 13 configured buckets. -Now instead of String keys, integer will be uased as key whch will guarantee that it will map to configured number of buckets. Ran: SingleHopGetAllPutAllDUnitTest multiple times Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/ad038b3b Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/ad038b3b Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/ad038b3b Branch: refs/heads/develop Commit: ad038b3b7363fd80a559292296f74a1d3bd13ace Parents: 065072e Author: kbachhav kbachhav.pivotal.io Authored: Tue Jul 14 18:47:43 2015 +0530 Committer: kbachhav kbachhav.pivotal.io Committed: Tue Jul 14 18:47:43 2015 +0530 -- .../execute/SingleHopGetAllPutAllDUnitTest.java | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ad038b3b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/SingleHopGetAllPutAllDUnitTest.java -- diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/SingleHopGetAllPutAllDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/SingleHopGetAllPutAllDUnitTest.java index 9914032..fdbf148 100644 --- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/SingleHopGetAllPutAllDUnitTest.java +++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/SingleHopGetAllPutAllDUnitTest.java @@ -46,7 +46,7 @@ public class SingleHopGetAllPutAllDUnitTest extends PRClientServerTestBase{ * hosting the data. */ @Ignore(Disabled due to bug #50618) - public void DISABLED_testServerGetAllFunction(){ + public void testServerGetAllFunction(){ createScenario(); client.invoke(SingleHopGetAllPutAllDUnitTest.class, getAll); @@ -60,17 +60,19 @@ public class SingleHopGetAllPutAllDUnitTest extends PRClientServerTestBase{ public static void getAll() { Region region = cache.getRegion(PartitionedRegionName); assertNotNull(region); -final List testKeysList = new ArrayList(); +final List testValueList = new ArrayList(); +final List testKeyList = new ArrayList(); for (int i = (totalNumBuckets.intValue() * 3); i 0; i--) { - testKeysList.add(execKey- + i); + testValueList.add(execKey- + i); } DistributedSystem.setThreadsSocketPolicy(false); try { int j = 0; Map origVals = new HashMap(); - for (Iterator i = testKeysList.iterator(); i.hasNext();) { -Integer val = new Integer(j++); -Object key = i.next(); + for (Iterator i = testValueList.iterator(); i.hasNext();) { +testKeyList.add(j); +Integer key = new Integer(j++); +Object val = i.next(); origVals.put(key, val); region.put(key, val); } @@ -79,10 +81,10 @@ public class SingleHopGetAllPutAllDUnitTest extends PRClientServerTestBase{ verifyMetadata(); // check if the function was routed to pruned nodes - Map resultMap = region.getAll(testKeysList); + Map resultMap = region.getAll(testKeyList); assertTrue(resultMap.equals(origVals)); pause(2000); - Map secondResultMap = region.getAll(testKeysList); + Map secondResultMap = region.getAll(testKeyList); assertTrue(secondResultMap.equals(origVals)); } catch (Exception e) {