<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:54:09 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-893] clustering.services-implementation failed to register listner.</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-893</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;System tests for VTN frequently fails.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jenkins.opendaylight.org/integration/job/integration-master-csit-karaf-vtn-only/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/integration/job/integration-master-csit-karaf-vtn-only/&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/integration/job/integration-master-csit-karaf-vtn-all/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/integration/job/integration-master-csit-karaf-vtn-all/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We&apos;ve found out that the root cause of this failure is in clustering.&lt;/p&gt;


&lt;p&gt;We sometimes observe that clustering.services-implementation fails to register listener.&lt;br/&gt;
Which listener the clustering.services-implementation fails to register changes each time.&lt;/p&gt;

&lt;p&gt;We observed that when the clustering.services-implementation fails to register topologymanager.edgesDB, system tests for VTN failed.&lt;/p&gt;

&lt;p&gt;    2014-09-24 14:29:00,198 | TRACE | Local user karaf | \&lt;br/&gt;
      ClusterGlobalManager | \&lt;br/&gt;
      98 - org.opendaylight.controller.clustering.services-implementation - \&lt;br/&gt;
      0.4.3.Helium | setCacheUpdateAware: \&lt;br/&gt;
      org.opendaylight.controller.topologymanager.internal.\&lt;br/&gt;
      TopologyManagerImpl@ceb60d&lt;/p&gt;

&lt;p&gt;    2014-09-24 14:29:00,199 | TRACE | Local user karaf | \&lt;br/&gt;
      ClusterManagerCommon | \&lt;br/&gt;
      98 - org.opendaylight.controller.clustering.services-implementation - \&lt;br/&gt;
      0.4.3.Helium | CacheUpdateAware being set on container:default&lt;/p&gt;

&lt;p&gt;    2014-09-24 14:29:00,199 | TRACE | Local user karaf | \&lt;br/&gt;
      ClusterManagerCommon | \&lt;br/&gt;
      98 - org.opendaylight.controller.clustering.services-implementation - \&lt;br/&gt;
      0.4.3.Helium | cachenames provided below:&lt;/p&gt;

&lt;p&gt;    2014-09-24 14:29:00,199 | DEBUG | Local user karaf | \&lt;br/&gt;
      ClusterManagerCommon | \&lt;br/&gt;
      98 - org.opendaylight.controller.clustering.services-implementation - \&lt;br/&gt;
      0.4.3.Helium | Cache topologymanager.edgesDB didn&apos;t exist when \&lt;br/&gt;
      org.opendaylight.controller.topologymanager.internal.\&lt;br/&gt;
      TopologyManagerImpl@ceb60d tried to register to its updates&lt;/p&gt;


&lt;p&gt;Because if the clustering.services-implementation fails to register topologymanager.edgesDB, dijkstra_impelmentation fails to create route information, and IRouting.getRoute(Node, Node) returns null, VTN Manager thinks there are no route between hosts, and eventually VTN Manager does not try to forward packets and install flow entries.&lt;/p&gt;

&lt;p&gt;That is why System tests for VTN frequently fails.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25447">CONTROLLER-893</key>
            <summary>clustering.services-implementation failed to register listner.</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="-1">Unassigned</assignee>
                                    <reporter username="Hideyuki1985">Hideyuki Tai</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Sep 2014 00:25:14 +0000</created>
                <updated>Thu, 19 Oct 2017 22:13:23 +0000</updated>
                            <resolved>Mon, 29 Sep 2014 06:47:56 +0000</resolved>
                                    <version>Helium</version>
                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="49380" author="hideyuki.tai@necam.com" created="Thu, 25 Sep 2014 00:57:24 +0000"  >&lt;p&gt;The easiest way to reproduce the issue&lt;br/&gt;
======================================&lt;/p&gt;

&lt;p&gt; 0. Clean caches.&lt;/p&gt;

&lt;p&gt;    $ rm -rf data/&lt;/p&gt;

&lt;p&gt; 1. Run Karaf distribution.&lt;/p&gt;

&lt;p&gt;    $ bin/karaf&lt;/p&gt;

&lt;p&gt; 2. Change the log level of clustering.services_implementation to TRACE&lt;/p&gt;

&lt;p&gt;    log:set TRACE org.opendaylight.controller.clustering.services_implementation&lt;/p&gt;

&lt;p&gt; 3. Install odl-nsf-managers&lt;/p&gt;

&lt;p&gt;    feature:install odl-nsf-managers&lt;/p&gt;

&lt;p&gt; NOTE: Which listener the clustering.services-implementation fails to register changes each time.&lt;/p&gt;


&lt;p&gt;My observation&lt;br/&gt;
==============&lt;/p&gt;

&lt;p&gt;The following is my observation during the above procedure.&lt;/p&gt;


{nodeconnections]
It was failed to register listener for nodeconnections.

2014-09-24 20:41:51,777 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache connectionmanager.CONTAINER_BASED.nodeconnections didn&apos;t exist when org.opendaylight.controller.connectionmanager.internal.ConnectionManager@34455f88 tried to register to its updates

2014-09-24 20:41:51,777 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache connectionmanager.LOAD_BALANCED.nodeconnections didn&apos;t exist when org.opendaylight.controller.connectionmanager.internal.ConnectionManager@34455f88 tried to register to its updates

2014-09-24 20:41:51,778 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache connectionmanager.ROUND_ROBIN.nodeconnections didn&apos;t exist when org.opendaylight.controller.connectionmanager.internal.ConnectionManager@34455f88 tried to register to its u
pdates


[config.container.event.save]

2014-09-24 20:41:51,926 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     config.container.event.save didn&apos;t exist when org.opendaylight.controller.configuration.internal.ContainerConfigurationService@408c3e7b tried to register to its updates


[statisticsmanager]

2014-09-24 20:41:51,945 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     statisticsmanager.triggers didn&apos;t exist when org.opendaylight.controller.statisticsmanager.internal.StatisticsManager@53f21293 tried to register to its updates

2014-09-24 20:41:51,945 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     statisticsmanager.flowStatistics didn&apos;t exist when org.opendaylight.controller.statisticsmanager.internal.StatisticsManager@53f21293 tried to register to its updates


[frm.workStatus]

2014-09-24 20:41:52,029 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     frm.workOrder didn&apos;t exist when org.opendaylight.controller.forwardingrulesmanager.internal.ForwardingRulesManager@3ce3ed23 tried to register to its updates

2014-09-24 20:41:52,029 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     frm.workStatus didn&apos;t exist when org.opendaylight.controller.forwardingrulesmanager.internal.ForwardingRulesManager@3ce3ed23 tried to register to its updates

2014-09-24 20:41:52,030 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     frm.installedSwView didn&apos;t exist when org.opendaylight.controller.forwardingrulesmanager.internal.ForwardingRulesManager@3ce3ed23 tried to register to its updates


{topologymanager.edgesDB}

&lt;p&gt;2014-09-24 20:41:52,041 | DEBUG | Local user karaf | ClusterManagerCommon             | 189 - org.opendaylight.controller.clustering.services-implementation - 0.4.3.Helium-RC2-test-v201409232153 | Cache     topologymanager.edgesDB didn&apos;t exist when org.opendaylight.controller.topologymanager.internal.TopologyManagerImpl@7f6d2f18 tried to register to its updates&lt;/p&gt;</comment>
                            <comment id="49381" author="colin@colindixon.com" created="Thu, 25 Sep 2014 21:34:09 +0000"  >&lt;p&gt;Adding Moiz to the cc list in the hope that he can take this or find somebody who can.&lt;/p&gt;</comment>
                            <comment id="49382" author="hagbard@gmail.com" created="Fri, 26 Sep 2014 14:23:15 +0000"  >&lt;p&gt;Hideyuki... &lt;/p&gt;

&lt;p&gt;Please try to collect the logs corresponding to this:&lt;/p&gt;

&lt;p&gt;    private void retrieveCaches() {&lt;br/&gt;
        if (this.clusterContainerService == null) &lt;/p&gt;
{
            log.error(&quot;Cluster Services is null, can&apos;t retrieve caches.&quot;);
            return;
        }

&lt;p&gt;        this.edgesDB = (ConcurrentMap&amp;lt;Edge, Set&amp;lt;Property&amp;gt;&amp;gt;) this.clusterContainerService.getCache(TOPOEDGESDB);&lt;br/&gt;
        if (edgesDB == null) &lt;/p&gt;
{
            log.error(&quot;Failed to get cache for &quot; + TOPOEDGESDB);
        }

&lt;p&gt;        this.hostsDB =&lt;br/&gt;
                (ConcurrentMap&amp;lt;NodeConnector, Set&amp;lt;ImmutablePair&amp;lt;Host, Set&amp;lt;Property&amp;gt;&amp;gt;&amp;gt;&amp;gt;) this.clusterContainerService.getCache(TOPOHOSTSDB);&lt;br/&gt;
        if (hostsDB == null) &lt;/p&gt;
{
            log.error(&quot;Failed to get cache for &quot; + TOPOHOSTSDB);
        }

&lt;p&gt;        this.nodeConnectorsDB =&lt;br/&gt;
                (ConcurrentMap&amp;lt;NodeConnector, Set&amp;lt;Property&amp;gt;&amp;gt;) this.clusterContainerService.getCache(TOPONODECONNECTORDB);&lt;br/&gt;
        if (nodeConnectorsDB == null) &lt;/p&gt;
{
            log.error(&quot;Failed to get cache for &quot; + TOPONODECONNECTORDB);
        }

&lt;p&gt;        this.userLinksDB =&lt;br/&gt;
                (ConcurrentMap&amp;lt;String, TopologyUserLinkConfig&amp;gt;) this.clusterContainerService.getCache(TOPOUSERLINKSDB);&lt;br/&gt;
        if (userLinksDB == null) &lt;/p&gt;
{
            log.error(&quot;Failed to get cache for &quot; + TOPOUSERLINKSDB);
        }
&lt;p&gt;    }&lt;/p&gt;

&lt;p&gt;From TopologyManagerImpl.&lt;/p&gt;

&lt;p&gt;The caches being reported missing are created and retrieved in TopologyManager.init().&lt;/p&gt;

&lt;p&gt;I think we should see:&lt;br/&gt;
ClusterServicesCommons.init()&lt;br/&gt;
TopologyManagerImpl.init()&lt;br/&gt;
and &lt;b&gt;then&lt;/b&gt; the injection of the TopologyManagerImpl as IClusterAware into the ClusterServicesCommons&lt;/p&gt;

&lt;p&gt;So I am hoping we can see from the logs whether we are seeing errors registering the caches.&lt;/p&gt;</comment>
                            <comment id="49383" author="colin@colindixon.com" created="Fri, 26 Sep 2014 15:16:07 +0000"  >&lt;p&gt;Somebody might try a retry with a sleep in setClusterAware in ClusterServicesCommon. Then make sure it doesn&apos;t slow down boot unacceptably.&lt;/p&gt;

&lt;p&gt;Other dirty solutions would be:&lt;/p&gt;

&lt;p&gt;1.) Telling users how to tell if VTN came up good or not, so they can reboot if not.&lt;br/&gt;
2.) Writing a script to automate 1.&lt;/p&gt;</comment>
                            <comment id="49384" author="moraja@cisco.com" created="Fri, 26 Sep 2014 16:30:12 +0000"  >&lt;p&gt;I tried reproducing this issue.&lt;/p&gt;

&lt;p&gt;Couple of things,&lt;/p&gt;

&lt;p&gt;1. I do not see this message logged at all&lt;/p&gt;

&lt;p&gt;logger.trace(&quot;cachename:{} on container:{} has &quot; +&lt;br/&gt;
     &quot;been registered&quot;, cache,&lt;br/&gt;
     this.containerName);&lt;/p&gt;

&lt;p&gt;2. Where the exception related message is logged I see the comment &lt;/p&gt;

&lt;p&gt;// Do nothing, the important is that&lt;br/&gt;
// we don&apos;t register the listener in&lt;br/&gt;
// the shadow, and we are not doing&lt;br/&gt;
// that.&lt;/p&gt;

&lt;p&gt;So it seems to me that (a) caches never exist and (b) For some reason it is ok to ignore the adding of the listener&lt;/p&gt;</comment>
                            <comment id="49385" author="moraja@cisco.com" created="Fri, 26 Sep 2014 16:35:10 +0000"  >&lt;p&gt;Ed, None of the errors that you asked Hideyuki to look for are reported. There was one though&lt;/p&gt;

&lt;p&gt;2014-09-26 09:21:19,868 | ERROR | Local user karaf | ConfigurationService             | 195 - org.opendaylight.controller.configuration.implementation - 0.4.3.SNAPSHOT | Failed to create config directory: configuration/startup/default&lt;/p&gt;

&lt;p&gt;I don&apos;t know if this has any bearing on the issue.&lt;/p&gt;</comment>
                            <comment id="49386" author="moraja@cisco.com" created="Fri, 26 Sep 2014 17:47:08 +0000"  >&lt;p&gt;I tried adding 100 retires when adding a listener with a sleep of upto 100 millisecond between retries and it still failed when adding many listeners.&lt;/p&gt;</comment>
                            <comment id="49387" author="moraja@cisco.com" created="Fri, 26 Sep 2014 18:31:25 +0000"  >&lt;p&gt;I added some additional logging in createCache to see if the cache was ever created. It looks like when the add listener fails the cache is never created.&lt;/p&gt;</comment>
                            <comment id="49388" author="gmeo@cisco.com" created="Fri, 26 Sep 2014 18:33:53 +0000"  >&lt;p&gt;(In reply to Moiz Raja from comment #8)&lt;br/&gt;
&amp;gt; I added some additional logging in createCache to see if the cache was ever&lt;br/&gt;
&amp;gt; created. It looks like when the add listener fails the cache is never&lt;br/&gt;
&amp;gt; created.&lt;/p&gt;

&lt;p&gt;The cache is created afterward, so the idea is actually to store those caches that has been got listener before the creation and then to add the listener later on.&lt;/p&gt;</comment>
                            <comment id="49389" author="moraja@cisco.com" created="Fri, 26 Sep 2014 18:35:52 +0000"  >&lt;p&gt;Giovanni,&lt;/p&gt;

&lt;p&gt;I added logging like so,&lt;/p&gt;

&lt;p&gt;    @Override&lt;br/&gt;
    public ConcurrentMap&amp;lt;?, ?&amp;gt; createCache(String cacheName,&lt;br/&gt;
            Set&amp;lt;IClusterServices.cacheMode&amp;gt; cMode) throws CacheExistException,&lt;br/&gt;
            CacheConfigException {&lt;br/&gt;
        if (this.clusterService != null) {&lt;/p&gt;

&lt;p&gt;            logger.info(&quot;Creating cache {} success!!!!&quot;, cacheName);&lt;br/&gt;
            return this.clusterService.createCache(this.containerName,&lt;br/&gt;
                    cacheName, cMode);&lt;br/&gt;
        } else {&lt;br/&gt;
            logger.error(&quot;Could not create cache {} because clusterService is null&quot;, cacheName);&lt;br/&gt;
            return null;&lt;br/&gt;
        }&lt;br/&gt;
    }&lt;/p&gt;


&lt;p&gt;and I see neither of the log statements in the log.&lt;/p&gt;</comment>
                            <comment id="49394" author="moraja@cisco.com" created="Fri, 26 Sep 2014 18:38:06 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: karaf.log showing that create cache was not called for caches where adding listener failed&lt;/p&gt;</comment>
                            <comment id="49390" author="gmeo@cisco.com" created="Fri, 26 Sep 2014 19:07:14 +0000"  >&lt;p&gt;(In reply to Moiz Raja from comment #11)&lt;br/&gt;
&amp;gt; Created attachment 266 &lt;span class=&quot;error&quot;&gt;&amp;#91;details&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; karaf.log showing that create cache was not called for caches where adding&lt;br/&gt;
&amp;gt; listener failed&lt;/p&gt;

&lt;p&gt;Thanks Moiz, but this logs show no caches got the message &quot;didn&apos;t exist when&quot;, so not sure if the log is telling it all.&lt;/p&gt;</comment>
                            <comment id="49391" author="moraja@cisco.com" created="Fri, 26 Sep 2014 19:10:51 +0000"  >&lt;p&gt;Here are the other changes I did. I did comment out the &quot;didn&apos;t exist&quot; statement.&lt;/p&gt;

&lt;p&gt;    void setCacheUpdateAware(Map props, ICacheUpdateAware s) {&lt;br/&gt;
        logger.info(&quot;MOIZ: CacheUpdateAware being set on container:{}&quot;,&lt;br/&gt;
                     this.containerName);&lt;/p&gt;


&lt;p&gt;        if (this.cacheUpdateAware != null) {&lt;br/&gt;
            Set&amp;lt;String&amp;gt; caches = (Set&amp;lt;String&amp;gt;)props.get(&quot;cachenames&quot;);&lt;br/&gt;
            if (caches != null) {&lt;br/&gt;
                logger.trace(&quot;cachenames provided below:&quot;);&lt;br/&gt;
                for (String cache : caches) {&lt;br/&gt;
                    if (this.cacheUpdateAware.get(cache) != null) {&lt;br/&gt;
                        logger.error(&quot;cachename:{} on container:{} has already a listener&quot;, cache, this.containerName);&lt;br/&gt;
                    } else {&lt;br/&gt;
                        GetUpdatesContainer&amp;lt;?, ?&amp;gt; up = new GetUpdatesContainer(s, this.containerName, cache);&lt;br/&gt;
                        if (up != null) &lt;/p&gt;
{
                            addListener(s, cache, up);
                        }
&lt;p&gt;                    }&lt;br/&gt;
                }&lt;br/&gt;
            }&lt;br/&gt;
        }&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;    private void addListener(ICacheUpdateAware s, String cache, GetUpdatesContainer&amp;lt;?, ?&amp;gt; up) {&lt;/p&gt;

&lt;p&gt;        int tries;&lt;/p&gt;

&lt;p&gt;        int MAX_RETRIES = 5;&lt;/p&gt;

&lt;p&gt;        for(tries=0;tries&amp;lt;MAX_RETRIES;tries++) {&lt;br/&gt;
            try {&lt;br/&gt;
                this.clusterService.addListener(this.containerName,&lt;br/&gt;
                    cache, up);&lt;br/&gt;
                this.cacheUpdateAware.put(cache, up);&lt;br/&gt;
                logger.info(&quot;cachename:{} on container:{} has &quot; +&lt;br/&gt;
                        &quot;been registered&quot;, cache,&lt;br/&gt;
                    this.containerName&lt;br/&gt;
                );&lt;/p&gt;

&lt;p&gt;                break;&lt;br/&gt;
            } catch (CacheListenerAddException exc) {&lt;br/&gt;
//                logger&lt;br/&gt;
//                    .debug(&quot;Cache {} didn&apos;t exist when {} tried to register to its updates, tries = {}&quot;, cache,&lt;br/&gt;
//                        s, tries);&lt;br/&gt;
                // Do nothing, the important is that&lt;br/&gt;
                // we don&apos;t register the listener in&lt;br/&gt;
                // the shadow, and we are not doing&lt;br/&gt;
                // that.&lt;br/&gt;
            }&lt;/p&gt;

&lt;p&gt;            try &lt;/p&gt;
{
                Thread.sleep(100);
            }
&lt;p&gt; catch (InterruptedException e) {&lt;br/&gt;
            }&lt;br/&gt;
        }&lt;/p&gt;

&lt;p&gt;        if(tries == MAX_RETRIES){&lt;br/&gt;
            logger.error(&quot;Failed to add listener for cache {} after {} tries&quot;, cache, MAX_RETRIES);&lt;br/&gt;
        }&lt;br/&gt;
    }&lt;/p&gt;</comment>
                            <comment id="49392" author="hideyuki.tai@necam.com" created="Sat, 27 Sep 2014 01:38:18 +0000"  >&lt;p&gt;Moiz Raja has written a patch for this bug.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/11621/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/11621/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="49393" author="colin@colindixon.com" created="Mon, 29 Sep 2014 04:27:37 +0000"  >&lt;p&gt;Hiedyuki, if you have confirmed that this is now fixed, can you set the state to fixed, resolved?&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13440" name="karaf.log" size="374520" author="moraja@cisco.com" created="Fri, 26 Sep 2014 18:38:06 +0000"/>
                    </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>2074</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=2074]]></customfieldvalue>

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

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