<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:06:37 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>[LISPMAP-151] Subscribers from both Northbound and Southbound origin are stored in SimpleMapCache</title>
                <link>https://jira.opendaylight.org/browse/LISPMAP-151</link>
                <project id="10136" key="LISPMAP">lispflowmapping</project>
                    <description>&lt;p&gt;Initially the situation described in the subject line was by design and presented no issues. However, after switching to RadixTrie as the backend for longest prefix match (LPM) there are some implications resulting in situations leading to incorrect lookup results.&lt;/p&gt;

&lt;p&gt;Adding a subscriber for prefix A from the northbound (NB) adds a subkey with said subscriber to the RadixTrie node for that prefix, in addition to the subkey for the address (which stores the mapping). When prefix A is deleted, the subscriber entry stays on. If a southbound (SB) mapping for prefix B is added, such that B is less specific than A, a lookup for EID C, which is contained in A will return a &apos;null&apos; result. That is because in the RadixTrie we have a node for A, which is the LPM for C. The mapping stored under A is &apos;null&apos;, since there is no address subkey, as the mapping was deleted. Even if there is a less specific mapping B from SB in the RadixTrie, that will not be returned, since the RadixTrie is agnostic to subkeys.&lt;/p&gt;

&lt;p&gt;To avoid this, we need to delete all subkeys, when deleting a mapping. However, we can&apos;t know if a subscriber list holds entries for both NB and SB.&lt;/p&gt;

&lt;p&gt;One option is to add subscribers to both NB and SB storage separately, but that requires composing subscribers when composing results according different NB/SB policies. This would complicate code.&lt;/p&gt;

&lt;p&gt;I suggest we separate subscriber storage to a different SimpleMapCache structure, which holds subscribers for both NB and SB.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="19751">LISPMAP-151</key>
            <summary>Subscribers from both Northbound and Southbound origin are stored in SimpleMapCache</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</priority>
                        <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="ljakab">Lori Jakab</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 Mar 2017 20:30:59 +0000</created>
                <updated>Tue, 20 Mar 2018 15:18:37 +0000</updated>
                            <resolved>Tue, 12 Sep 2017 05:51:20 +0000</resolved>
                                    <version>Carbon</version>
                                    <fixVersion>Oxygen</fixVersion>
                                    <component>Service</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="35734" author="ljakab" created="Thu, 16 Mar 2017 17:55:50 +0000"  >&lt;p&gt;Gerrit &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/52112/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/52112/&lt;/a&gt; which fixes &lt;a href=&quot;https://jira.opendaylight.org/browse/LISPMAP-144&quot; title=&quot;map-resolver replies with wrong mapping record and TTL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LISPMAP-144&quot;&gt;&lt;del&gt;LISPMAP-144&lt;/del&gt;&lt;/a&gt; causes an issue related to what&apos;s described in this bug: when a SB mapping is removed, all subkeys are removed, and if a NB mapping exists with subscribers, those subscribers are lost.&lt;/p&gt;</comment>
                            <comment id="35735" author="ljakab" created="Fri, 8 Sep 2017 12:40:04 +0000"  >&lt;p&gt;The separate subscriber storage mentioned in the original bug report is implemented in the following patch:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/62491/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/62491/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The data structure used is not a SimpleMapCache though, but a flat ConcurrentHashMap.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="19757">LISPMAP-157</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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>7947</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=7947]]></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_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10312"><![CDATA[High]]></customfieldvalue>

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

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