<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:56:03 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-1635] TimeoutException: Futures timed out after [5 seconds]</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1635</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;2017-04-12 23:30:08,853 | ERROR | lt-dispatcher-15 | SimpleShardDataTreeCohort        | 182 - org.opendaylight.controller.sal-distributed-datastore - 1.4.4.SNAPSHOT | Transaction member-1-datastore-operational-fe-0-chn-7-txn-11752 failed to prepare&lt;br/&gt;
java.util.concurrent.TimeoutException: Futures timed out after &lt;span class=&quot;error&quot;&gt;&amp;#91;5 seconds&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:167)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:3640)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:165)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.Await$.result(package.scala:190)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.Await.result(package.scala)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.CompositeDataTreeCohort.processResponses(CompositeDataTreeCohort.java:162)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.CompositeDataTreeCohort.canCommit(CompositeDataTreeCohort.java:122)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.userPreCommit(SimpleShardDataTreeCohort.java:162)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.startPreCommit(ShardDataTree.java:584)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:91)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.CohortEntry.preCommit(CohortEntry.java:102)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:296)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.access$200(ShardCommitCoordinator.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$2.onSuccess(ShardCommitCoordinator.java:243)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$2.onSuccess(ShardCommitCoordinator.java:237)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.successfulCanCommit(SimpleShardDataTreeCohort.java:145)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextTransaction(ShardDataTree.java:526)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardDataTree.startCanCommit(ShardDataTree.java:560)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:81)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.CohortEntry.canCommit(CohortEntry.java:98)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:237)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:201)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:437)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:243)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:291)&lt;span class=&quot;error&quot;&gt;&amp;#91;177:org.opendaylight.controller.sal-akka-raft:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29)&lt;span class=&quot;error&quot;&gt;&amp;#91;176:org.opendaylight.controller.sal-clustering-commons:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)&lt;span class=&quot;error&quot;&gt;&amp;#91;170:com.typesafe.akka.persistence:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;176:org.opendaylight.controller.sal-clustering-commons:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.Actor$class.aroundReceive(Actor.scala:484)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168)&lt;span class=&quot;error&quot;&gt;&amp;#91;170:com.typesafe.akka.persistence:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:633)&lt;span class=&quot;error&quot;&gt;&amp;#91;170:com.typesafe.akka.persistence:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:179)&lt;span class=&quot;error&quot;&gt;&amp;#91;170:com.typesafe.akka.persistence:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168)&lt;span class=&quot;error&quot;&gt;&amp;#91;170:com.typesafe.akka.persistence:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.actor.ActorCell.invoke(ActorCell.scala:495)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.run(Mailbox.scala:224)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234)&lt;span class=&quot;error&quot;&gt;&amp;#91;164:com.typesafe.akka.actor:2.4.7&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="26189">CONTROLLER-1635</key>
            <summary>TimeoutException: Futures timed out after [5 seconds]</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="cdgasparini">Claudio David Gasparini</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Apr 2017 06:11:29 +0000</created>
                <updated>Tue, 25 Jul 2023 08:24:30 +0000</updated>
                            <resolved>Mon, 24 Apr 2017 11:37:03 +0000</resolved>
                                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="51988" author="cdgasparini" created="Thu, 13 Apr 2017 06:12:12 +0000"  >&lt;p&gt;Intermittent issue under Boron tests&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/jenkins092/bgpcep-csit-1node-periodic-bgp-ingest-only-boron/476/archives/odl1_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/jenkins092/bgpcep-csit-1node-periodic-bgp-ingest-only-boron/476/archives/odl1_karaf.log.gz&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="51989" author="tpantelis" created="Thu, 13 Apr 2017 09:06:15 +0000"  >&lt;p&gt;The fact that this code is executing indicates there is a DOMDataTreeCommitCohort present in BGP somewhere or in the test suite. The TimeoutException indicates the DOMDataTreeCommitCohort implementation didn&apos;t respond within 5 sec. So this doesn&apos;t appear to be an issue with clustering.&lt;/p&gt;</comment>
                            <comment id="51990" author="rovarga" created="Thu, 13 Apr 2017 12:29:48 +0000"  >&lt;p&gt;Actually BGPCEP is not using commit cohorts at all, the logs show:&lt;/p&gt;

&lt;p&gt;2017-04-12 23:28:38,665 | INFO  | entLoopGroup-5-1 | BGPPeer                          | 195 - org.opendaylight.bgpcep.bgp-rib-impl - 0.6.4.SNAPSHOT | Session with peer 10.29.13.222 went up with tables [BgpTableTypeImpl &lt;span class=&quot;error&quot;&gt;&amp;#91;getAfi()=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv4AddressFamily, getSafi()=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.UnicastSubsequentAddressFamily&amp;#93;&lt;/span&gt;] and Add Path tables []&lt;br/&gt;
2017-04-12 23:28:38,694 | INFO  | entLoopGroup-5-1 | AbstractBGPSessionNegotiator     | 195 - org.opendaylight.bgpcep.bgp-rib-impl - 0.6.4.SNAPSHOT | BGP Session with peer &lt;span class=&quot;error&quot;&gt;&amp;#91;id: 0xa84cc9e7, L:/10.29.13.167:1790 - R:/10.29.13.222:17900&amp;#93;&lt;/span&gt; established successfully.&lt;br/&gt;
2017-04-12 23:29:44,697 | WARN  | on-dispatcher-65 | taTreeNotificationPublisherActor | 176 - org.opendaylight.controller.sal-clustering-commons - 1.4.4.SNAPSHOT | member-1-shard-default-operational: Generation of change events for member-1-shard-default-operational-DTCL-publisher took longer than expected. Elapsed time: 3.106 s&lt;br/&gt;
2017-04-12 23:30:08,853 | ERROR | lt-dispatcher-15 | SimpleShardDataTreeCohort        | 182 - org.opendaylight.controller.sal-distributed-datastore - 1.4.4.SNAPSHOT | Transaction member-1-datastore-operational-fe-0-chn-7-txn-11752 failed to prepare&lt;br/&gt;
java.util.concurrent.TimeoutException: Futures timed out after &lt;span class=&quot;error&quot;&gt;&amp;#91;5 seconds&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I would assume this was a huge transaction and we just missed the deadline to respond.&lt;/p&gt;

&lt;p&gt;Tom, I think we should sync up on the various timers we have in here and make sure they make sense &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Also we should include transaction ID in the DTCL-too-long warning.&lt;/p&gt;</comment>
                            <comment id="51991" author="tpantelis" created="Thu, 13 Apr 2017 15:19:13 +0000"  >&lt;p&gt;Hmm...&lt;/p&gt;

&lt;p&gt;It failed here:&lt;/p&gt;

&lt;p&gt;org.opendaylight.controller.cluster.datastore.CompositeDataTreeCohort.processResponses(CompositeDataTreeCohort.java:162)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.4.4.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;    private void processResponses(final Future&amp;lt;Iterable&amp;lt;Object&amp;gt;&amp;gt; resultsFuture, final State currentState, final State afterState)&lt;br/&gt;
            throws TimeoutException, ExecutionException {&lt;br/&gt;
        final Iterable&amp;lt;Object&amp;gt; results;&lt;br/&gt;
        try &lt;/p&gt;
{
162 --&amp;gt;     results = Await.result(resultsFuture, timeout.duration());
        }
&lt;p&gt; catch (Exception e) &lt;/p&gt;
{
            successfulFromPrevious = null;
            Throwables.propagateIfInstanceOf(e, TimeoutException.class);
            throw Throwables.propagate(e);
        }

&lt;p&gt;If there were no commit cohorts then resultsFuture should be empty and thus complete immediately. &lt;/p&gt;

&lt;p&gt;Or am I missing something here?&lt;/p&gt;

&lt;p&gt;I agree we need to revisit the various timers. The timeout above is hard-coded at 5 sec &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="51992" author="rovarga" created="Fri, 21 Apr 2017 14:53:56 +0000"  >&lt;p&gt;We have just reproduced this in a single-node scenario with BGP load test. The stack trace is slightly different here, reflecting tell-based-protocol:&lt;/p&gt;

&lt;p&gt;java.util.concurrent.TimeoutException: Futures timed out after &lt;span class=&quot;error&quot;&gt;&amp;#91;5 seconds&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)&lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)&lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190)&lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:167)&lt;span class=&quot;error&quot;&gt;&amp;#91;154:com.typesafe.akka.actor:2.4.17&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:3640)&lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:165)&lt;span class=&quot;error&quot;&gt;&amp;#91;154:com.typesafe.akka.actor:2.4.17&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.Await$.result(package.scala:190)&lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at scala.concurrent.Await.result(package.scala)&lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.CompositeDataTreeCohort.processResponses(CompositeDataTreeCohort.java:183)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.CompositeDataTreeCohort.preCommit(CompositeDataTreeCohort.java:146)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.userPreCommit(SimpleShardDataTreeCohort.java:200)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTree.startPreCommit(ShardDataTree.java:809)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:113)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.successfulDirectCanCommit(FrontendReadWriteTransaction.java:202)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.access$300(FrontendReadWriteTransaction.java:55)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction$5.onSuccess(FrontendReadWriteTransaction.java:190)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction$5.onSuccess(FrontendReadWriteTransaction.java:187)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.successfulCanCommit(SimpleShardDataTreeCohort.java:181)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$0(ShardDataTree.java:717)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPending(ShardDataTree.java:761)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPendingTransaction(ShardDataTree.java:706)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.ShardDataTree.startCanCommit(ShardDataTree.java:787)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:103)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.directCommit(FrontendReadWriteTransaction.java:187)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.handleCommitLocalTransaction(FrontendReadWriteTransaction.java:254)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.FrontendReadWriteTransaction.handleRequest(FrontendReadWriteTransaction.java:91)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.AbstractFrontendHistory.handleTransactionRequest(AbstractFrontendHistory.java:154)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.LeaderFrontendState.handleTransactionRequest(LeaderFrontendState.java:197)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.Shard.handleRequest(Shard.java:450)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:283)&lt;span class=&quot;error&quot;&gt;&amp;#91;180:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:270)&lt;span class=&quot;error&quot;&gt;&amp;#91;174:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:31)&lt;span class=&quot;error&quot;&gt;&amp;#91;173:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)&lt;span class=&quot;error&quot;&gt;&amp;#91;161:com.typesafe.akka.persistence:2.4.17&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I have just grepped the entire autorelease for cohort registrations in carbon and there is only SFC, which is not installed in this case. It looks rather weird and the code structure makes it really hard to extract any sort of useful information.&lt;/p&gt;

&lt;p&gt;I have refactored the code so it is retains actor identities, hence we can actually reason about what went down (if anything). I have also addressed the FIXME, which contains a bypass on empty cohorts, which may actually address this issue, since we do not go through the global execution context in that cases, but return directly.&lt;/p&gt;

&lt;p&gt;carbon: &lt;a href=&quot;https://git.opendaylight.org/gerrit/55819&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/55819&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="51993" author="tpantelis" created="Fri, 21 Apr 2017 15:17:34 +0000"  >&lt;p&gt;(In reply to Robert Varga from comment #5)&lt;/p&gt;

&lt;p&gt;&amp;gt; I have refactored the code so it is retains actor identities, hence we can&lt;br/&gt;
&amp;gt; actually reason about what went down (if anything). I have also addressed&lt;br/&gt;
&amp;gt; the FIXME, which contains a bypass on empty cohorts, which may actually&lt;br/&gt;
&amp;gt; address this issue, since we do not go through the global execution context&lt;br/&gt;
&amp;gt; in that cases, but return directly.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; carbon: &lt;a href=&quot;https://git.opendaylight.org/gerrit/55819&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/55819&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;yeah I think that&apos;s what&apos;s happening - akka/scala futures still go through the global executor even when immediately complete so if the all the executor threads are in use it could timeout. In some other part of the code I first checked if the future was done before adding a callback.&lt;/p&gt;

&lt;p&gt;I plan on removing the actor - it really isn&apos;t necessary plus we need to track the cohort state per transaction now that we have the pipelining - the current code assumes only one transaction at a time is undergoing 3PC since that&apos;s the way it was before pipelining.&lt;/p&gt;</comment>
                            <comment id="51994" author="rovarga" created="Fri, 21 Apr 2017 16:06:48 +0000"  >&lt;p&gt;boron shortcuts: &lt;a href=&quot;https://git.opendaylight.org/gerrit/55821&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/55821&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="51995" author="rovarga" created="Mon, 24 Apr 2017 11:17:53 +0000"  >&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/55859&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/55859&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="51996" author="rovarga" created="Mon, 24 Apr 2017 11:37:03 +0000"  >&lt;p&gt;Agreed on killing DataTreeCohortActor. I have filed &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-1641&quot; title=&quot;Integrate DataTreeCohortActor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-1641&quot;&gt;&lt;del&gt;CONTROLLER-1641&lt;/del&gt;&lt;/a&gt; to track that.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8219</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=8219]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10359"><![CDATA[Carbon-RC2]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02rsf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>