<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:02:01 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>[INFRAUTILS-9] Caches infrastructure</title>
                <link>https://jira.opendaylight.org/browse/INFRAUTILS-9</link>
                <project id="10129" key="INFRAUTILS">infrautils</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://lists.opendaylight.org/pipermail/genius-dev/2017-March/001152.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/genius-dev/2017-March/001152.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Projects such as genius and netvirt, and probably others too, today have A LOT of caches in code already, all over the place, some using an old deprecated DataStoreCache API which has a number of known problems, some just using ad hoc in-line solutions, typically a (static) ConcurrentMap.&lt;/p&gt;

&lt;p&gt;Issues with this as-is situation include technical debt issues include: (a) problematic testability due to frequent use of static, (b) possible unbounded cache growth due to lack of invalidation with proper API abstraction, thus potential memory usage issues at scale, (c) total lack of any sort of monitoring capability of cache usage e.g. by CLI commands, and any sort of administration of cache sizing and policy etc. For debuggability purpose we need to add utilities to dump these caches and reset them.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/48920/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/48920/&lt;/a&gt; proposes a (first version of) a consistent shared common caching infrastructure addressing these points for use OpenDaylight projects (primary intended to initially be consumed in genius and netvirt, replacing the existing as-is caches).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=h4HOSRN2aFc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.youtube.com/watch?v=h4HOSRN2aFc&lt;/a&gt; has a screen cast demo of this.&lt;/p&gt;

&lt;p&gt;Main API interfaces are the CacheProvider and the Cache and CacheFunction.&lt;/p&gt;

&lt;p&gt;SampleServiceWithCachingImpl code illustrates the use.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="19498">INFRAUTILS-9</key>
            <summary>Caches infrastructure</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 25 Apr 2017 17:04:02 +0000</created>
                <updated>Thu, 19 Oct 2017 21:29:06 +0000</updated>
                            <resolved>Mon, 25 Sep 2017 15:36:10 +0000</resolved>
                                    <version>(unspecified)</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="35393" author="rgoulding" created="Tue, 25 Jul 2017 16:22:07 +0000"  >&lt;p&gt;Is this targeted at Nitrogen?&lt;/p&gt;</comment>
                            <comment id="35394" author="vorburger" created="Wed, 26 Jul 2017 06:37:40 +0000"  >&lt;p&gt;&amp;gt; Is this targeted at Nitrogen?&lt;/p&gt;

&lt;p&gt;Yeah, I&apos;m planning to wrap this up ASAP (but am travelling and on PTO next 2 wks)&lt;/p&gt;</comment>
                            <comment id="35395" author="vorburger" created="Fri, 4 Aug 2017 16:51:29 +0000"  >&lt;p&gt;Rebased c/48920 and finished up JavaDoc today, hoping to merge next week.&lt;/p&gt;

&lt;p&gt;Also new &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/61192/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/61192/&lt;/a&gt; extension.&lt;/p&gt;</comment>
                            <comment id="35396" author="vorburger" created="Mon, 21 Aug 2017 13:22:35 +0000"  >&lt;p&gt;&amp;gt;&amp;gt; Is this targeted at Nitrogen?&lt;br/&gt;
&amp;gt; Yeah, I&apos;m planning to wrap this up ASAP (but am travelling and on PTO next 2 wks)&lt;/p&gt;

&lt;p&gt;FINALLY merged this today, into master not stable/nitrogen anymore.&lt;/p&gt;

&lt;p&gt;If anyone is actually starting to use this anywhere in master and wants to cherry-pick code from stable/nitrogen to master but cannot because of this, then I would be happy to cherry-pick c/48920 (patch set 36, before the pom.xml adjustments for master done in the final patch set) and c/61192 - just email infrautils-dev, should this be useful; otherwise no need.&lt;/p&gt;

&lt;p&gt;Closing this as Fixed. Further requirements, refinements, fixed should go into new issues.&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>8300</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=8300]]></customfieldvalue>

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

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

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

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