<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:57:08 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-2072] Remove Kryo from atomix-storage</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-2072</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;We do not need full serdes capabilities of Kryo, certainly not its ASM/Objenesis dependencies. Examine the interplay of sal-akka-segmented-journal with Kryo and replace it with a simpler interface, which will result in binary-compatible serialization format.&lt;/p&gt;

&lt;p&gt;This will allow us to not shade Kryo, significantly reducing the amount of classes we ship.&lt;/p&gt;</description>
                <environment></environment>
        <key id="36725">CONTROLLER-2072</key>
            <summary>Remove Kryo from atomix-storage</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="10001" iconUrl="https://jira.opendaylight.org/" description="">In Review</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="SamoSchneider">Samuel Schneider</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                            <label>pick-next</label>
                            <label>pt</label>
                    </labels>
                <created>Thu, 2 Mar 2023 12:46:12 +0000</created>
                <updated>Fri, 29 Dec 2023 07:46:34 +0000</updated>
                                                            <fixVersion>8.0.5</fixVersion>
                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="72039" author="rovarga" created="Thu, 2 Mar 2023 20:37:46 +0000"  >&lt;p&gt;Patches leading to &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/controller/+/104745&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/controller/+/104745&lt;/a&gt; encapulate Kryo so users are not directly exposed to it, while defanging the implementation. At that patch Kryo is an implementation detail and can be replaced by providing an alternative to KryoJournalSerdes &#8211; which really boils down to:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;keeping track of registration IDs and their manifestation in the serialized format&lt;/li&gt;
	&lt;li&gt;implementing EntryInput/EntryOutput is a binary compatible way, of which&lt;/li&gt;
	&lt;li&gt;perhaps readObject()/writeObject() are the most bothersome, but should boil down to Externalizable serialization, which in turn sal-akka-segmented-journal can enforce&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="72040" author="rovarga" created="Thu, 2 Mar 2023 20:39:34 +0000"  >&lt;p&gt;Also, the @VisibleForTesting methods can actually be replaced with either a plain DataOutput.writeInt(), or perhaps WritableObjects.writeLong() &#8211; it is just testing, we do not actually need that.&lt;/p&gt;</comment>
                            <comment id="72230" author="tibor.kral" created="Thu, 1 Jun 2023 13:08:19 +0000"  >&lt;p&gt;In terms of us implementing EntryInput/EntryOutput in a binary compatible way, we&apos;ll probably need to directly reuse the implementation from com.esotericsoftware.kryo.io.Output and Input classes. Basically a copy-paste into our EntryInput/EntryOutput classes. I don&apos;t like this approach. Do we have any other choice?&#160;&lt;/p&gt;</comment>
                            <comment id="72231" author="rovarga" created="Thu, 1 Jun 2023 14:14:36 +0000"  >&lt;p&gt;Depends on how much of that we are &lt;b&gt;really&lt;/b&gt; using in the codepaths we are taking.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="35828">CONTROLLER-2044</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="36723">CONTROLLER-2071</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|i044gf:</customfieldvalue>

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