clarencen/lshift — Issue #279: ConcurrentModificationException when clearing upstream version
Author: clarencen
Created: 2011-11-14 22:42:21+00:00
State: open

Steps to reproduce:

1. Run mvn clean verify in agent module
2. Run mvn verify (without cleaning)

Stacktrace:

@@@
12:08:11.391 [qtp166552229-32] Configuration.scala:117 - Processing group declare/update request: g1
12:08:11.398 [qtp166552229-29] Configuration.scala:41 - Processing endpoint declare/update request: abCorrelatedAmqp-us
12:08:11.441 [qtp166552229-29] JsonAmqpMessagingRegistrar.scala:63 - Starting consumer for endpoint: Endpoint(abCorrelatedAmqp-us,amqp://localhost//queues/participant-us-correlated,application/json,amqp://localhost//queues/changes-correlated,application/json,true,{bizDate=net.lshift.diffa.kernel.config.RangeCategoryDescriptor@726c554})
12:08:11.447 [qtp166552229-35] Configuration.scala:41 - Processing endpoint declare/update request: abCorrelatedAmqp-ds
12:08:11.483 [qtp166552229-35] JsonAmqpMessagingRegistrar.scala:63 - Starting consumer for endpoint: Endpoint(abCorrelatedAmqp-ds,amqp://localhost//queues/participant-ds-correlated,application/json,amqp://localhost//queues/changes-correlated,application/json,true,{bizDate=net.lshift.diffa.kernel.config.RangeCategoryDescriptor@62d7601c})
12:08:11.492 [qtp166552229-33] Configuration.scala:87 - Processing pair declare/update request: abCorrelatedAmqp
12:08:11.510 [qtp166552229-33] Logging.scala:77 - Shutting down ExecutorBasedEventDrivenDispatcher[akka:event-driven:dispatcher:global]
12:08:11.511 [akka:event-driven:dispatcher:global-3] Logging.scala:77 - Exiting thread akka:event-driven:dispatcher:global-3
12:08:11.511 [qtp166552229-33] PairActorSupervisor.scala:62 - Stopped actor for key: abCorrelatedAmqp
12:08:11.562 [qtp166552229-33] Logging.scala:77 - Creating a se.scalablesolutions.akka.dispatch.Dispatchers$globalExecutorBasedEventDrivenDispatcher$ with config [core-pool:16,max-pool:128,timeout:60000,allowCoreTimeout:false,rejectPolicy:CallerRunsPolicy]
12:08:11.562 [qtp166552229-33] Logging.scala:77 - Starting up ExecutorBasedEventDrivenDispatcher[akka:event-driven:dispatcher:global]
with throughput [5]
12:08:11.562 [qtp166552229-33] PairActorSupervisor.scala:44 - Started actor for key: abCorrelatedAmqp
12:08:11.581 [qtp166552229-33] LocalEventMatcher.scala:71 - Disposing analyzer for pair: abCorrelatedAmqp
12:08:11.582 [akka:event-driven:dispatcher:global-4] Logging.scala:77 - Created thread akka:event-driven:dispatcher:global-4
12:08:11.600 [akka:event-driven:dispatcher:global-4] AmqpRpcClient.scala:58 - query_aggregate_digests: {"constraints":[{"attributes":{},"values":null,"category":"bizDate"}],"buckets":{"bizDate":"yearly"}}
12:08:11.610 [akka:event-driven:dispatcher:global-4] DigestBuilder.scala:47 - Adding to bucket: abc, Map(bizDate -> 2011-02-09T12:05:14.319Z), 2011-02-09T12:05:20.691Z, uvsn_abcdef
12:08:11.611 [akka:event-driven:dispatcher:global-4] AmqpRpcClient.scala:58 - query_entity_versions: [{"attributes":{"lower":"2011-01-01T00:00:00.000Z","upper":"2011-12-31T23:59:59.999Z"},"values":null,"category":"bizDate"}]
12:08:11.631 [akka:event-driven:dispatcher:global-4] Logging.scala:120 - Exception when invoking
actor [Actor[abCorrelatedAmqp:1298679354921]]
with message [DifferenceMessage(net.lshift.diffa.kernel.differencing.DefaultSessionManager@49b40272)]
java.util.ConcurrentModificationException: null
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) [na:1.6.0_20]
at java.util.AbstractList$Itr.next(AbstractList.java:343) [na:1.6.0_20]
at scala.collection.JavaConversions$JIteratorWrapper.next(JavaConversions.scala:476) [scala-library-2.8.0.jar:na]
at scala.collection.Iterator$class.foreach(Iterator.scala:631) [scala-library-2.8.0.jar:na]
at scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:474) [scala-library-2.8.0.jar:na]
at scala.collection.IterableLike$class.foreach(IterableLike.scala:79) [scala-library-2.8.0.jar:na]
at scala.collection.JavaConversions$JListWrapper.foreach(JavaConversions.scala:521) [scala-library-2.8.0.jar:na]
at net.lshift.diffa.kernel.indexing.LuceneVersionCorrelationStore$$anonfun$clearUpstreamVersion$1.apply(LuceneVersionCorrelationStore.scala:103) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.indexing.LuceneVersionCorrelationStore$$anonfun$clearUpstreamVersion$1.apply(LuceneVersionCorrelationStore.scala:98) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.indexing.LuceneVersionCorrelationStore.doClearAttributes(LuceneVersionCorrelationStore.scala:241) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.indexing.LuceneVersionCorrelationStore.clearUpstreamVersion(LuceneVersionCorrelationStore.scala:98) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy$UpstreamSyncStrategy.handleMismatch(BaseSynchingVersionPolicy.scala:133) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy$SyncStrategy$$anonfun$syncHalf$1$$anonfun$apply$1.apply(BaseSynchingVersionPolicy.scala:103) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy$SyncStrategy$$anonfun$syncHalf$1$$anonfun$apply$1.apply(BaseSynchingVersionPolicy.scala:103) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) [scala-library-2.8.0.jar:na]
at scala.collection.immutable.List.foreach(List.scala:45) [scala-library-2.8.0.jar:na]
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:44) [scala-library-2.8.0.jar:na]
at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:42) [scala-library-2.8.0.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy$SyncStrategy$$anonfun$syncHalf$1.apply(BaseSynchingVersionPolicy.scala:103) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy$SyncStrategy$$anonfun$syncHalf$1.apply(BaseSynchingVersionPolicy.scala:97) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) [scala-library-2.8.0.jar:na]
at scala.collection.immutable.List.foreach(List.scala:45) [scala-library-2.8.0.jar:na]
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:44) [scala-library-2.8.0.jar:na]
at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:42) [scala-library-2.8.0.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy$SyncStrategy.syncHalf(BaseSynchingVersionPolicy.scala:97) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.differencing.CorrelatedVersionPolicy.synchroniseParticipants(CorrelatedVersionPolicy.scala:36) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.differencing.BaseSynchingVersionPolicy.difference(BaseSynchingVersionPolicy.scala:75) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActor$$anonfun$receive$1.apply(PairActor.scala:41) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActor$$anonfun$receive$1.apply(PairActor.scala:38) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at se.scalablesolutions.akka.actor.Actor$$anonfun$2.apply(Actor.scala:485) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.actor.Actor$$anonfun$2.apply(Actor.scala:475) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.actor.Actor$class.apply(Actor.scala:471) [akka-core_2.8.0-0.10.jar:na]
at net.lshift.diffa.kernel.actors.PairActor.apply(PairActor.scala:29) [diffa-kernel-0.9.3-SNAPSHOT.jar:na]
at se.scalablesolutions.akka.actor.LocalActorRef.se$scalablesolutions$akka$actor$LocalActorRef$$dispatch(ActorRef.scala:1221) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.actor.LocalActorRef$$anonfun$invoke$1.apply$mcV$sp(ActorRef.scala:1027) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.actor.LocalActorRef$$anonfun$invoke$1.apply(ActorRef.scala:1022) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.actor.LocalActorRef$$anonfun$invoke$1.apply(ActorRef.scala:1022) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.util.ReentrantGuard.withGuard(LockUtil.scala:18) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.actor.LocalActorRef.invoke(ActorRef.scala:1021) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:27) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.dispatch.ExecutorBasedEventDrivenDispatcher.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:139) [akka-core_2.8.0-0.10.jar:na]
at se.scalablesolutions.akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$1.run(ExecutorBasedEventDrivenDispatcher.scala:115) [akka-core_2.8.0-0.10.jar:na]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_20]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_20]
at se.scalablesolutions.akka.dispatch.ThreadPoolBuilder$MonitorableThread.run(ThreadPoolBuilder.scala:298) [akka-core_2.8.0-0.10.jar:na]
12:08:11.638 [qtp166552229-33] AbstractRestResource.scala:75 - Could not execute function:PairDef(abCorrelatedAmqp,correlated,1,abCorrelatedAmqp-us,abCorrelatedAmqp-ds,g1)
@@@