<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:10: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>[MDSAL-539] Add lazy-computed Map implementation in binding-dom-codec</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-539</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;When we are translating a MapNode into a Map of binding DTOs, we are doing so eagerly and use an ImmutableMap.&lt;/p&gt;

&lt;p&gt;This is quite wasteful, as this might entail creating a lot of objects while the caller may want to access only a part of the map.&lt;/p&gt;

&lt;p&gt;Create a specialized Map implementation, which will not perform this translation upfront, but rather perform it on demand.&lt;/p&gt;

&lt;p&gt;Unfortunately we know very little about what the access pattern is going to be, and there is a number of trade-offs involved. Hence the implementation needs to have a staggered strategy, where it decides how the binding objects are going to be filled. A strategy should be selected on first data access:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;if the first access is Map.values(), the implementation should choose to start populating objects in the iteration order, without indexing them into a Map&lt;/li&gt;
	&lt;li&gt;if the first access is Map.keys(), Map.entrySet(), or Map.get(), the implementation should choose to start populating a Map&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Switching the initial decision may be problematic and possibly not needed &#8211; at least in case of 2) being selected, switching to 1) does not provide much in terms of benefits. Switching to 2) after partially iterating through 1) may prove to be desirable, though.&lt;/p&gt;</description>
                <environment></environment>
        <key id="32588">MDSAL-539</key>
            <summary>Add lazy-computed Map implementation in binding-dom-codec</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</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="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 Apr 2020 11:40:57 +0000</created>
                <updated>Thu, 7 May 2020 06:13:34 +0000</updated>
                            <resolved>Thu, 7 May 2020 06:13:34 +0000</resolved>
                                                    <fixVersion>6.0.1</fixVersion>
                                    <component>Binding runtime</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="32589">YANGTOOLS-1101</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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03s0v:</customfieldvalue>

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