You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2016/10/05 21:44:27 UTC

[2/5] usergrid git commit: Ensure that injector is not used in Akka constructors to avoid "cannot serialize injector" errors

Ensure that injector is not used in Akka constructors to avoid "cannot serialize injector" errors


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d2153285
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d2153285
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d2153285

Branch: refs/heads/usergrid-1318-queue
Commit: d2153285dae4c9257f3b62ab533186f31f770926
Parents: fe08fa7
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Oct 5 17:41:26 2016 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Oct 5 17:41:26 2016 -0400

----------------------------------------------------------------------
 .../persistence/actorsystem/GuiceActorProducer.java |  8 ++++----
 .../uniquevalues/UniqueValuesServiceImpl.java       |  2 +-
 .../distributed/actors/QueueTimeouterTest.java      | 16 +++++++++-------
 .../distributed/actors/ShardAllocatorTest.java      |  4 ++--
 4 files changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/d2153285/stack/corepersistence/actorsystem/src/main/java/org/apache/usergrid/persistence/actorsystem/GuiceActorProducer.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/actorsystem/src/main/java/org/apache/usergrid/persistence/actorsystem/GuiceActorProducer.java b/stack/corepersistence/actorsystem/src/main/java/org/apache/usergrid/persistence/actorsystem/GuiceActorProducer.java
index 9304c4c..d73f760 100644
--- a/stack/corepersistence/actorsystem/src/main/java/org/apache/usergrid/persistence/actorsystem/GuiceActorProducer.java
+++ b/stack/corepersistence/actorsystem/src/main/java/org/apache/usergrid/persistence/actorsystem/GuiceActorProducer.java
@@ -25,11 +25,11 @@ import com.google.inject.Injector;
 
 public class GuiceActorProducer implements IndirectActorProducer {
 
-    final Injector injector;
+    public static Injector INJECTOR = null;
+
     final Class<? extends Actor> actorClass;
 
-    public GuiceActorProducer(Injector injector, Class<? extends Actor> actorClass) {
-        this.injector = injector;
+    public GuiceActorProducer(Class<? extends Actor> actorClass) {
         this.actorClass = actorClass;
     }
 
@@ -40,7 +40,7 @@ public class GuiceActorProducer implements IndirectActorProducer {
 
     @Override
     public Actor produce() {
-        return injector.getInstance( actorClass );
+        return INJECTOR.getInstance( actorClass );
     }
 }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d2153285/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
index 8bdb02c..08de853 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
@@ -292,7 +292,7 @@ public class UniqueValuesServiceImpl implements UniqueValuesService {
             ClusterSingletonManagerSettings.create( system ).withRole("io");
 
         system.actorOf( ClusterSingletonManager.props(
-            Props.create( GuiceActorProducer.class, injector, UniqueValuesRouter.class ),
+            Props.create( GuiceActorProducer.class, UniqueValuesRouter.class ),
             PoisonPill.getInstance(), settings ), "uvRouter" );
 
         ClusterSingletonProxySettings proxySettings =

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d2153285/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/QueueTimeouterTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/QueueTimeouterTest.java b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/QueueTimeouterTest.java
index 3079773..3bf87a6 100644
--- a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/QueueTimeouterTest.java
+++ b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/QueueTimeouterTest.java
@@ -31,6 +31,7 @@ import org.apache.usergrid.persistence.qakka.App;
 import org.apache.usergrid.persistence.qakka.QakkaFig;
 import org.apache.usergrid.persistence.qakka.core.CassandraClient;
 import org.apache.usergrid.persistence.qakka.core.CassandraClientImpl;
+import org.apache.usergrid.persistence.qakka.distributed.DistributedQueueService;
 import org.apache.usergrid.persistence.qakka.distributed.messages.QueueTimeoutRequest;
 import org.apache.usergrid.persistence.qakka.serialization.MultiShardMessageIterator;
 import org.apache.usergrid.persistence.qakka.serialization.sharding.Shard;
@@ -58,14 +59,15 @@ public class QueueTimeouterTest extends AbstractTest {
     @Test
     public void testBasicOperation() throws Exception {
 
-        CassandraClient cassandraClient = getInjector().getInstance( CassandraClientImpl.class );
-
         Injector injector = getInjector();
 
-        QakkaFig qakkaFig             = getInjector().getInstance( QakkaFig.class );
-        ActorSystemFig actorSystemFig = getInjector().getInstance( ActorSystemFig.class );
-        QueueMessageSerialization qms = getInjector().getInstance( QueueMessageSerialization.class );
-        ShardSerialization shardSerialization = getInjector().getInstance( ShardSerialization.class );
+        injector.getInstance( DistributedQueueService.class ); // init the INJECTOR
+
+        CassandraClient cassandraClient = injector.getInstance( CassandraClientImpl.class );
+        QakkaFig qakkaFig             = injector.getInstance( QakkaFig.class );
+        ActorSystemFig actorSystemFig = injector.getInstance( ActorSystemFig.class );
+        QueueMessageSerialization qms = injector.getInstance( QueueMessageSerialization.class );
+        ShardSerialization shardSerialization = injector.getInstance( ShardSerialization.class );
 
         // create records in inflight table, with some being old enough to time out
 
@@ -113,7 +115,7 @@ public class QueueTimeouterTest extends AbstractTest {
 
         ActorSystem system = ActorSystem.create("Test-" + queueName);
         ActorRef timeouterRef = system.actorOf( Props.create(
-            GuiceActorProducer.class, injector, QueueTimeouter.class), "timeouter");
+            GuiceActorProducer.class, QueueTimeouter.class), "timeouter");
         QueueTimeoutRequest qtr = new QueueTimeoutRequest( queueName );
         timeouterRef.tell( qtr, null ); // tell sends message, returns immediately
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d2153285/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/ShardAllocatorTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/ShardAllocatorTest.java b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/ShardAllocatorTest.java
index c6831b7..919673c 100644
--- a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/ShardAllocatorTest.java
+++ b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/qakka/distributed/actors/ShardAllocatorTest.java
@@ -69,7 +69,7 @@ public class ShardAllocatorTest extends AbstractTest {
 
         CassandraClient cassandraClient = injector.getInstance( CassandraClientImpl.class );
 
-        injector.getInstance( App.class ); // init the INJECTOR
+        injector.getInstance( DistributedQueueService.class ); // init the INJECTOR
 
         ShardSerialization shardSer = injector.getInstance( ShardSerialization.class );
         QakkaFig qakkaFig           = injector.getInstance( QakkaFig.class );
@@ -113,7 +113,7 @@ public class ShardAllocatorTest extends AbstractTest {
 
         ActorSystem system = ActorSystem.create("Test-" + queueName);
         ActorRef shardAllocRef = system.actorOf( Props.create(
-            GuiceActorProducer.class, injector, ShardAllocator.class), "shardallocator");
+            GuiceActorProducer.class, ShardAllocator.class), "shardallocator");
 
         ShardCheckRequest checkRequest = new ShardCheckRequest( queueName );
         shardAllocRef.tell( checkRequest, null ); // tell sends message, returns immediately