Details
-
Bug
-
Status: Resolved
-
Resolution: Cannot Reproduce
-
Post-Helium
-
None
-
None
-
Operating System: All
Platform: All
-
3100
-
High
Description
We've used merge since Helium.
Magically in the last day or so, merge is completely borked:
2015-05-02 19:58:23,803 | ERROR | CommitFutures-0 | GroupTable | 274 - org.opendaylight.groupbasedpolicy.ofoverlay-renderer - 0.2.0.SNAPSHOT | Could not merge L281
TransactionCommitFailedException
at org.opendaylight.controller.md.sal.dom.broker.impl.TransactionCommitFailedExceptionMapper.newWithCause(TransactionCommitFailedExceptionMapper.java:37)[154:org.opendaylight.controller.sal-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.dom.broker.impl.TransactionCommitFailedExceptionMapper.newWithCause(TransactionCommitFailedExceptionMapper.java:18)[154:org.opendaylight.controller.sal-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.yangtools.util.concurrent.ExceptionMapper.apply(ExceptionMapper.java:96)[64:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ConcurrentDOMDataBroker.handleException(ConcurrentDOMDataBroker.java:212)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ConcurrentDOMDataBroker.access$100(ConcurrentDOMDataBroker.java:43)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ConcurrentDOMDataBroker$1.onFailure(ConcurrentDOMDataBroker.java:122)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310)[61:com.google.guava:18.0.0]
at org.opendaylight.controller.cluster.datastore.ConcurrentDOMDataBroker$SimpleSameThreadExecutor.execute(ConcurrentDOMDataBroker.java:334)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[61:com.google.guava:18.0.0]
at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)[61:com.google.guava:18.0.0]
at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:202)[61:com.google.guava:18.0.0]
at com.google.common.util.concurrent.SettableFuture.setException(SettableFuture.java:68)[61:com.google.guava:18.0.0]
at org.opendaylight.controller.cluster.datastore.SingleCommitCohortProxy$1.onComplete(SingleCommitCohortProxy.java:60)[179:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
at akka.dispatch.OnComplete.internal(Future.scala:247)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.OnComplete.internal(Future.scala:245)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.japi$CallbackBridge.apply(Future.scala:175)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.japi$CallbackBridge.apply(Future.scala:172)[164:com.typesafe.akka.actor:2.3.10]
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:90)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:88)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:88)[164:com.typesafe.akka.actor:2.3.10]
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:88)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)[164:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:401)[164:com.typesafe.akka.actor:2.3.10]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[161:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
Caused by: java.lang.IllegalStateException: Optional.get() cannot be called on an absent value
at com.google.common.base.Absent.get(Absent.java:47)[61:com.google.guava:18.0.0]
The Group exists, I write it earlier.
I've been banging on this all day. How else is merge supposed to work if the get "behind the curtains" is going to bork on Absent?