[1/2] incubator-geode git commit: GEODE-114: fix race condition in DefaultGemFireConnection.getRegionProxy

2015-07-16 Thread qihong
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

2015-07-16 Thread qihong
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

2015-07-16 Thread kishorbachhav
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

2015-07-16 Thread kishorbachhav
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

2015-07-16 Thread kishorbachhav
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) {