From c148fb50d0dbc6a0593cb9af81e361b5b41761e9 Mon Sep 17 00:00:00 2001
From: Sean Busbey <busbey@cloudera.com>
Date: Thu, 18 Jun 2015 02:42:34 -0500
Subject: [PATCH] [infinispan] clean up refactoring of infinispan binding.

* use double-check idiom for remote cache manager.
* update version to 7.2.2.Final
---
 .../yahoo/ycsb/db/RemoteCacheManagerHolder.java    | 14 +++++++++-----
 pom.xml                                            |  2 +-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/infinispan/src/main/java/com/yahoo/ycsb/db/RemoteCacheManagerHolder.java b/infinispan/src/main/java/com/yahoo/ycsb/db/RemoteCacheManagerHolder.java
index 899d7d53..ffdc9371 100644
--- a/infinispan/src/main/java/com/yahoo/ycsb/db/RemoteCacheManagerHolder.java
+++ b/infinispan/src/main/java/com/yahoo/ycsb/db/RemoteCacheManagerHolder.java
@@ -6,16 +6,20 @@ import org.infinispan.client.hotrod.RemoteCacheManager;
 
 public class RemoteCacheManagerHolder {
 	
-	private static RemoteCacheManager cacheManager = null;
+	private static volatile RemoteCacheManager cacheManager = null;
 	
 	private RemoteCacheManagerHolder() {}
 	
 	public static RemoteCacheManager getInstance(Properties props){
-		if(cacheManager == null){
-			synchronized (RemoteCacheManager.class) {
-				cacheManager = new RemoteCacheManager(props);
+		RemoteCacheManager result = cacheManager;
+		if(result == null){
+			synchronized (RemoteCacheManagerHolder.class) {
+				result = cacheManager;
+				if (result == null) {
+					cacheManager = result = new RemoteCacheManager(props);
+				}
 			}
 		}
-		return cacheManager;
+		return result;
 	}
 }
diff --git a/pom.xml b/pom.xml
index 08d93cbb..81d8bff5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
     <cassandra.version>1.2.9</cassandra.version>
     <cassandra.cql.version>1.0.3</cassandra.cql.version>
     <gemfire.version>8.1.0</gemfire.version>
-    <infinispan.version>7.2.0.CR1</infinispan.version>
+    <infinispan.version>7.2.2.Final</infinispan.version>
     <openjpa.jdbc.version>2.1.1</openjpa.jdbc.version>
     <!--<mapkeeper.version>1.0</mapkeeper.version>-->
     <mongodb.version>3.0.2</mongodb.version>
-- 
GitLab