<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:26 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>[OPNFLWPLUG-421] Unable to write statistics data to DS</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-421</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;2015-04-27 18:42:43,759 | TRACE | entLoopGroup-8-2 | StatisticsContextImpl            | 261 - org.opendaylight.openflowplugin.impl - 0.1.0.SNAPSHOT | Multipart response for OFPMPTABLE FAILED.&lt;br/&gt;
java.lang.IllegalStateException: Previous transaction is not ready yet&lt;br/&gt;
        at com.google.common.base.Preconditions.checkState(Preconditions.java:173)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.checkReadyState(TransactionChainProxy.java:133)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.allocateWriteTransaction(TransactionChainProxy.java:121)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.newReadWriteTransaction(TransactionChainProxy.java:101)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction.createTransaction(DOMBrokerReadWriteTransaction.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction.createTransaction(DOMBrokerReadWriteTransaction.java:22)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerTransaction.getSubtransaction(AbstractDOMBrokerTransaction.java:57)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.cluster.databroker.DOMBrokerWriteOnlyTransaction.put(DOMBrokerWriteOnlyTransaction.java:78)&lt;span class=&quot;error&quot;&gt;&amp;#91;215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.spi.ForwardingDOMDataReadWriteTransaction.put(ForwardingDOMDataReadWriteTransaction.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;189:org.opendaylight.controller.sal-core-spi:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.put(AbstractWriteTransaction.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;193:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.binding.impl.BindingDOMWriteTransactionAdapter.put(BindingDOMWriteTransactionAdapter.java:40)&lt;span class=&quot;error&quot;&gt;&amp;#91;193:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.device.TransactionChainManager.writeToTransaction(TransactionChainManager.java:76)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.writeToTransaction(DeviceContextImpl.java:168)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils.processFlowTableStatistics(StatisticsGatheringUtils.java:261)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils.access$400(StatisticsGatheringUtils.java:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils$1.apply(StatisticsGatheringUtils.java:140)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils$1.apply(StatisticsGatheringUtils.java:121)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.Futures$2.apply(Futures.java:760)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:906)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;97:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.processReply(DeviceContextImpl.java:284)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.device.listener.MultiMsgCollectorImpl$MultiCollectorObject.publishCollection(MultiMsgCollectorImpl.java:129)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.device.listener.MultiMsgCollectorImpl.addMultipartMsg(MultiMsgCollectorImpl.java:101)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowplugin.impl.device.listener.OpenflowProtocolListenerFullImpl.onMultipartReplyMessage(OpenflowProtocolListenerFullImpl.java:86)&lt;span class=&quot;error&quot;&gt;&amp;#91;261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterImpl.consume(ConnectionAdapterImpl.java:297)&lt;span class=&quot;error&quot;&gt;&amp;#91;258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.DelegatingInboundHandler.channelRead(DelegatingInboundHandler.java:46)&lt;span class=&quot;error&quot;&gt;&amp;#91;258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)&lt;span class=&quot;error&quot;&gt;&amp;#91;177:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)&lt;span class=&quot;error&quot;&gt;&amp;#91;177:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)&lt;span class=&quot;error&quot;&gt;&amp;#91;177:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:150)&lt;span class=&quot;error&quot;&gt;&amp;#91;178:io.netty.handler:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.IdleHandler.channelRead(IdleHandler.java:39)&lt;span class=&quot;error&quot;&gt;&amp;#91;258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:io.netty.transport:4.0.26.Final&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="27689">OPNFLWPLUG-421</key>
            <summary>Unable to write statistics data to DS</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="mbobak@cisco.com">Martin Bobak</assignee>
                                    <reporter username="mbobak@cisco.com">Martin Bobak</reporter>
                        <labels>
                    </labels>
                <created>Mon, 27 Apr 2015 16:48:13 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:29 +0000</updated>
                            <resolved>Mon, 1 Jun 2015 16:52:20 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="56791" author="moraja@cisco.com" created="Tue, 5 May 2015 16:17:12 +0000"  >&lt;p&gt;Should I use master or stable/lithium to reproduce this?&lt;/p&gt;</comment>
                            <comment id="56792" author="moraja@cisco.com" created="Tue, 5 May 2015 16:26:11 +0000"  >&lt;p&gt;This must be happening with master as openflowplugin does not have a stable/lithium branch yet.&lt;/p&gt;</comment>
                            <comment id="56793" author="moraja@cisco.com" created="Tue, 5 May 2015 16:37:50 +0000"  >&lt;p&gt;To reproduce this problem do this,&lt;/p&gt;

&lt;p&gt;1. Build openflowplugin master&lt;br/&gt;
2. Run the openflowplugin karaf distribution&lt;br/&gt;
3. Run mininet - with --topo tree,3&lt;br/&gt;
4. ./flow_config_blaster.py --auth --threads 5 --flows 1000 --no-delete run from the integration project&lt;/p&gt;</comment>
                            <comment id="56794" author="moraja@cisco.com" created="Tue, 5 May 2015 19:47:56 +0000"  >&lt;p&gt;Michal, I tried reproducing this issue but I wasn&apos;t able to. I&apos;m probably still missing a step.&lt;/p&gt;</comment>
                            <comment id="56795" author="moraja@cisco.com" created="Tue, 5 May 2015 20:00:23 +0000"  >&lt;p&gt;MORAJA-M-301N:clustering-performance-test moizr$ ./flow_config_blaster.py --auth --threads 5 --flows 5000 --no-delete&lt;/p&gt;

&lt;p&gt;Cycle 0:&lt;br/&gt;
    Thread 2:&lt;br/&gt;
        Adding 5000 flows on 7 nodes&lt;br/&gt;
    Thread 4:&lt;br/&gt;
        Adding 5000 flows on 7 nodes&lt;br/&gt;
    Thread 0:&lt;br/&gt;
        Adding 5000 flows on 7 nodes&lt;br/&gt;
    Thread 1:&lt;br/&gt;
        Adding 5000 flows on 7 nodes&lt;br/&gt;
    Thread 3:&lt;br/&gt;
        Adding 5000 flows on 7 nodes&lt;/p&gt;

&lt;p&gt;    Thread 3 results (ADD): &lt;br/&gt;
        Elapsed time: 60.13s,&lt;br/&gt;
        Requests/s: 83.16 OK, 83.16 Total&lt;br/&gt;
        Flows/s:    83.16 OK, 83.16 Total&lt;br/&gt;
        Stats (&lt;/p&gt;
{Requests}, {Flows}):  {200: 0, 204: 5000} {200: 0, 204: 5000}&lt;br/&gt;
&lt;br/&gt;
    Thread 4 results (ADD): &lt;br/&gt;
        Elapsed time: 60.19s,&lt;br/&gt;
        Requests/s: 83.07 OK, 83.07 Total&lt;br/&gt;
        Flows/s:    83.07 OK, 83.07 Total&lt;br/&gt;
        Stats ({Requests}
&lt;p&gt;, &lt;/p&gt;
{Flows}):  {200: 0, 204: 5000} {200: 0, 204: 5000}&lt;br/&gt;
&lt;br/&gt;
    Thread 1 results (ADD): &lt;br/&gt;
        Elapsed time: 60.29s,&lt;br/&gt;
        Requests/s: 82.93 OK, 82.93 Total&lt;br/&gt;
        Flows/s:    82.93 OK, 82.93 Total&lt;br/&gt;
        Stats ({Requests}, {Flows}
&lt;p&gt;):  &lt;/p&gt;
{200: 0, 204: 5000}
&lt;p&gt; &lt;/p&gt;
{200: 0, 204: 5000}

&lt;p&gt;    Thread 0 results (ADD): &lt;br/&gt;
        Elapsed time: 60.30s,&lt;br/&gt;
        Requests/s: 82.92 OK, 82.92 Total&lt;br/&gt;
        Flows/s:    82.92 OK, 82.92 Total&lt;br/&gt;
        Stats (&lt;/p&gt;
{Requests}, {Flows}):  {200: 0, 204: 5000} {200: 0, 204: 5000}&lt;br/&gt;
&lt;br/&gt;
    Thread 2 results (ADD): &lt;br/&gt;
        Elapsed time: 60.32s,&lt;br/&gt;
        Requests/s: 82.89 OK, 82.89 Total&lt;br/&gt;
        Flows/s:    82.89 OK, 82.89 Total&lt;br/&gt;
        Stats ({Requests}
&lt;p&gt;, &lt;/p&gt;
{Flows}
&lt;p&gt;):  &lt;/p&gt;
{200: 0, 204: 5000}
&lt;p&gt; &lt;/p&gt;
{200: 0, 204: 5000}

&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;
		&lt;ul&gt;
			&lt;li&gt;Test summary:&lt;br/&gt;
    Elapsed time:    60.52s&lt;br/&gt;
    Peak requests/s: 414.97 OK, 414.97 Total&lt;br/&gt;
    Peak flows/s:    414.97 OK, 414.97 Total&lt;br/&gt;
    Avg. requests/s: 413.09 OK, 413.09 Total (99.55% of peak total)&lt;br/&gt;
    Avg. flows/s:    413.09 OK, 413.09 Total (99.55% of peak total)&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;
		&lt;ul&gt;
			&lt;li&gt;Total flows added: 25000&lt;br/&gt;
    HTTP&lt;span class=&quot;error&quot;&gt;&amp;#91;OK&amp;#93;&lt;/span&gt; results:  25000&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="56796" author="moraja@cisco.com" created="Tue, 5 May 2015 20:01:09 +0000"  >&lt;p&gt;By any chance would you have local changes that I do not have?&lt;/p&gt;</comment>
                            <comment id="56797" author="mbobak@cisco.com" created="Wed, 6 May 2015 13:31:37 +0000"  >&lt;p&gt;No. Everything is merged in master.&lt;/p&gt;</comment>
                            <comment id="56798" author="moraja@cisco.com" created="Wed, 6 May 2015 16:59:38 +0000"  >&lt;p&gt;Martin, do you follow the same steps documented in this bug or do you do something else to reproduce this problem?&lt;/p&gt;</comment>
                            <comment id="56799" author="mbobak@cisco.com" created="Thu, 7 May 2015 08:14:17 +0000"  >&lt;p&gt;Yes Moiz I do the same as documented. Maybe try increasing number of  flows for config blaster to 10 000 (or even more).  :&lt;/p&gt;

&lt;p&gt; ./flow_config_blaster.py --auth --threads 5 --flows 10000 --no-delete&lt;/p&gt;</comment>
                            <comment id="56800" author="mbobak@cisco.com" created="Thu, 7 May 2015 11:07:07 +0000"  >&lt;p&gt;I am able now to observe this issue by using batching when writing flows. If I use command below, I am able to see only 5k flows in operational DS and many exceptions in log. With 100 fpr it works fine. &lt;/p&gt;

&lt;p&gt;./flow_config_blaster.py --auth --fpr 400 --flows 1000 --threads 8 --no-delete&lt;/p&gt;</comment>
                            <comment id="56801" author="moraja@cisco.com" created="Thu, 7 May 2015 12:18:27 +0000"  >&lt;p&gt;Finally I was able to reproduce the problem. The key step which I missed was to install odl-openflowplugin-all-li. I was installing odl-openflowplugin-all. Anyway I see the problem now.&lt;/p&gt;


&lt;p&gt;I looked through the code in TransactionChainManager. Basically it seems that we are submitting chained transactions in one thread and may create them in a separate thread. Is this a supported use case for TransactionChains? &lt;/p&gt;

&lt;p&gt;Just from examining the code in the databroker I can see why this exception could happen. There is no synchronization between creating a transaction on a chain and submitting that transaction which can result in some application thread attempting to create a transaction on a chain before the cohorts on the previous transaction being made ready.&lt;/p&gt;</comment>
                            <comment id="56802" author="moraja@cisco.com" created="Thu, 7 May 2015 12:18:41 +0000"  >&lt;p&gt;Finally I was able to reproduce the problem. The key step which I missed was to install odl-openflowplugin-all-li. I was installing odl-openflowplugin-all. Anyway I see the problem now.&lt;/p&gt;


&lt;p&gt;I looked through the code in TransactionChainManager. Basically it seems that we are submitting chained transactions in one thread and may create them in a separate thread. Is this a supported use case for TransactionChains? &lt;/p&gt;

&lt;p&gt;Just from examining the code in the databroker I can see why this exception could happen. There is no synchronization between creating a transaction on a chain and submitting that transaction which can result in some application thread attempting to create a transaction on a chain before the cohorts on the previous transaction being made ready.&lt;/p&gt;</comment>
                            <comment id="56803" author="mbobak@cisco.com" created="Thu, 7 May 2015 14:04:12 +0000"  >&lt;p&gt;Openflowplugin&apos;s write to tx and commit are synchronized operations. That should not cause this issue.&lt;/p&gt;</comment>
                            <comment id="56804" author="moraja@cisco.com" created="Thu, 7 May 2015 18:22:45 +0000"  >&lt;p&gt;You&apos;re right Martin, incorrect analysis on my part.&lt;/p&gt;</comment>
                            <comment id="56805" author="moraja@cisco.com" created="Sat, 9 May 2015 05:12:34 +0000"  >&lt;p&gt;The primary exception reported in this bug is a red herring.&lt;/p&gt;

&lt;p&gt;The root cause of this issue are some exceptions that happen before. I&apos;ve captured those exceptions in this gist -&amp;gt; &lt;a href=&quot;https://gist.github.com/moizr/4205d9c6b47a655e411f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gist.github.com/moizr/4205d9c6b47a655e411f&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Initially a ModifiedNodeDoesNotExist happens on a couple of transactions. This causes the transaction chains to fail. Because of this the TransactionChainManager&apos;s onTransactionFailed method is called. Over there we attempt to close the txChainFactory this results in the following exception. This exception does not allow a new transaction chain to get created. So any subsequent transaction that gets created on the old chain results in the &quot;Previous transaction is not ready yet exception&quot;&lt;/p&gt;

&lt;p&gt;2015-05-08 21:43:37,872 | ERROR | ntLoopGroup-6-10 | Futures$CombinedFuture           | 64 - com.google.guava - 18.0.0 | input future failed.&lt;br/&gt;
java.lang.IllegalStateException: Previous transaction is not ready yet&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.allocateWriteTransaction(TransactionChainProxy.java:134)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.TransactionChainProxy.newReadWriteTransaction(TransactionChainProxy.java:105)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction.createTransaction(DOMBrokerReadWriteTransaction.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction.createTransaction(DOMBrokerReadWriteTransaction.java:22)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerTransaction.getSubtransaction(AbstractDOMBrokerTransaction.java:57)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.databroker.DOMBrokerWriteOnlyTransaction.put(DOMBrokerWriteOnlyTransaction.java:78)&lt;span class=&quot;error&quot;&gt;&amp;#91;182:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.spi.ForwardingDOMDataReadWriteTransaction.put(ForwardingDOMDataReadWriteTransaction.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;156:org.opendaylight.controller.sal-core-spi:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.put(AbstractWriteTransaction.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingDOMWriteTransactionAdapter.put(BindingDOMWriteTransactionAdapter.java:40)&lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.device.TransactionChainManager.writeToTransaction(TransactionChainManager.java:85)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.writeToTransaction(DeviceContextImpl.java:166)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils.processNodeConnectorStatistics(StatisticsGatheringUtils.java:287)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils.access$300(StatisticsGatheringUtils.java:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils$1.apply(StatisticsGatheringUtils.java:137)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.statistics.StatisticsGatheringUtils$1.apply(StatisticsGatheringUtils.java:121)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.Futures$2.apply(Futures.java:760)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:906)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;64:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.processReply(DeviceContextImpl.java:283)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.device.listener.MultiMsgCollectorImpl$MultiCollectorObject.publishCollection(MultiMsgCollectorImpl.java:131)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.device.listener.MultiMsgCollectorImpl.addMultipartMsg(MultiMsgCollectorImpl.java:103)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.impl.device.listener.OpenflowProtocolListenerFullImpl.onMultipartReplyMessage(OpenflowProtocolListenerFullImpl.java:86)&lt;span class=&quot;error&quot;&gt;&amp;#91;198:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterImpl.consume(ConnectionAdapterImpl.java:297)&lt;span class=&quot;error&quot;&gt;&amp;#91;195:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.DelegatingInboundHandler.channelRead(DelegatingInboundHandler.java:46)&lt;span class=&quot;error&quot;&gt;&amp;#91;195:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)&lt;span class=&quot;error&quot;&gt;&amp;#91;144:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)&lt;span class=&quot;error&quot;&gt;&amp;#91;144:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)&lt;span class=&quot;error&quot;&gt;&amp;#91;144:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:150)&lt;span class=&quot;error&quot;&gt;&amp;#91;145:io.netty.handler:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.IdleHandler.channelRead(IdleHandler.java:39)&lt;span class=&quot;error&quot;&gt;&amp;#91;195:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:349)&lt;span class=&quot;error&quot;&gt;&amp;#91;118:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)&lt;span class=&quot;error&quot;&gt;&amp;#91;119:io.netty.common:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)&lt;span class=&quot;error&quot;&gt;&amp;#91;119:io.netty.common:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_67&amp;#93;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="56806" author="moraja@cisco.com" created="Sat, 9 May 2015 05:28:23 +0000"  >&lt;p&gt;Reassigning this to openflowplugin as this does not appear to be an issue with the datastore.&lt;/p&gt;

&lt;p&gt;    @Override&lt;br/&gt;
    public void onTransactionChainFailed(final TransactionChain&amp;lt;?, ?&amp;gt; chain,&lt;br/&gt;
                                         final AsyncTransaction&amp;lt;?, ?&amp;gt; transaction, final Throwable cause) &lt;/p&gt;
{
        LOG.warn(&quot;txChain failed -&amp;gt; recreating&quot;, cause);
        txChainFactory.close(); // &amp;lt;--- Exception caused by this line prevents the next line from executing
        txChainFactory = dataBroker.createTransactionChain(TransactionChainManager.this);
    }</comment>
                            <comment id="56807" author="abhijit2511" created="Mon, 1 Jun 2015 16:52:02 +0000"  >&lt;p&gt;Reassigning it to Martin (he thinks this is no longer an issue - and he will close it)&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="25552">CONTROLLER-998</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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>3071</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=3071]]></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="10380"><![CDATA[Lithium-M5]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10313"><![CDATA[Highest]]></customfieldvalue>

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

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