<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:36:32 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>[OVSDB-490] Improve transactions dispatch</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-490</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;The code to dispatch transaction effects is duplicated across hwvtep/ovs code, both sharing the same structure:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;there is a base AbstractTransactionCommand which holds schema and updates (and specialization for the particular southbound)&lt;/li&gt;
	&lt;li&gt;there is a set of commands subclassing it and calling TyperUtils to process updates&lt;/li&gt;
	&lt;li&gt;there is a top-level aggregator, which calls each of the command to select its effects&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Aside from the obvious code duplication, there is processing overhead, as we process the updates multiple times - i.e. for each command. Furthermore some commands have overlap on what data they are processing, for example PhysicalLocator updates are processed in HwvtepUcastMacsLocalUpdateCommand, HwvtepMcastMacsLocalUpdateCommand, HwvtepPhysicalLocatorRemoveCommand, etc. etc.&lt;/p&gt;

&lt;p&gt;The library should provide a basic harness in form of:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;a protocol-agnostic base command, which would expose the tables it is interested in&lt;/li&gt;
	&lt;li&gt;a protocol-agnostic base aggregator, which would examine all commands and build the required dataset and dispatch the modules (towards a protocol-specific abstract method)&lt;/li&gt;
	&lt;li&gt;the required dataset should also be better decomposed - it seems command logic is looking for before- and after-state, but for some things we may want a delta access&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="32240">OVSDB-490</key>
            <summary>Improve transactions dispatch</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.opendaylight.org/images/icons/priorities/minor.svg">Low</priority>
                        <status id="1" iconUrl="https://jira.opendaylight.org/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="Avishnoi">Anil Vishnoi</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Dec 2019 16:45:07 +0000</created>
                <updated>Thu, 5 Dec 2019 16:45:07 +0000</updated>
                                                                            <component>Library</component>
                    <component>Southbound.hw_vtep</component>
                    <component>Southbound.Open_vSwitch</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                        <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|i03qaf:</customfieldvalue>

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