<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:54:54 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-1184] Clustering : When it is detected that a follower is too far behind send it a snapshot instead of append entries</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1184</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;This is an optimization to get a slow follower to catch up a little faster.&lt;/p&gt;

&lt;p&gt;The basic idea is as follows. Let&apos;s say we have a Follower which is about n entries behind the Leader and those n entries happen to have a dataSize which is greater than the size of the state snapshot. Then it would be more optimal to send the Follower a snapshot than to send it the n append entries (either 1 by 1 or even in batches)&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25738">CONTROLLER-1184</key>
            <summary>Clustering : When it is detected that a follower is too far behind send it a snapshot instead of append entries</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="moraja@cisco.com">Moiz Raja</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Mar 2015 02:04:11 +0000</created>
                <updated>Thu, 19 Jul 2018 01:58:20 +0000</updated>
                            <resolved>Thu, 19 Jul 2018 01:58:20 +0000</resolved>
                                    <version>Post-Helium</version>
                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="50197" author="rovarga" created="Wed, 13 Apr 2016 09:46:48 +0000"  >&lt;p&gt;Natarajan, are you still working on this or should we return this back to the backlog?&lt;/p&gt;</comment>
                            <comment id="50198" author="tpantelis" created="Wed, 21 Dec 2016 11:25:19 +0000"  >&lt;p&gt;I&apos;m not sure this is really needed or that we want to do it. Re: &quot;it would be more optimal to send the Follower a snapshot than to send it the n append entries&quot;. I&apos;ve found this is not necessarily true. The data tree state could be much larger then the n append entries in which case sending a very large snapshot can be costly, both in serializing it and sending over the wire, especially over a slow link. I think in most cases we want to avoid sending a snapshot. Currently we&apos;ll mainly install a snapshot if the leader had progressed enough to compress its log via snapshot or if a follower&apos;s log is empty when it comes (back) online.&lt;/p&gt;</comment>
                            <comment id="50199" author="rovarga" created="Wed, 21 Dec 2016 12:37:21 +0000"  >&lt;p&gt;Moiz&apos;s point was that the sum of append entries may end up being larger than the full snapshot &amp;#8211; which is valid, I think.&lt;/p&gt;

&lt;p&gt;The trouble is that determining the snapshot size &amp;#8211; for that we need to serialize the entire data tree, which costly. Some sort of heuristic may be able to help, but I don&apos;t think it&apos;s worth the effort at this time.&lt;/p&gt;</comment>
                            <comment id="50200" author="tpantelis" created="Wed, 21 Dec 2016 14:04:38 +0000"  >&lt;p&gt;I don&apos;t think it&apos;s worth the effort at all. It could be larger but if it is then neither will typically be that large so it doesn&apos;t really matter. From what I&apos;ve seen in testing and production environments, installing a snapshot is costly with a large data tree and is typically only needed if a follower starts up with an empty log which we handle with a snapshot now anyway.&lt;/p&gt;

&lt;p&gt;(In reply to Robert Varga from comment #3)&lt;br/&gt;
&amp;gt; Moiz&apos;s point was that the sum of append entries may end up being larger than&lt;br/&gt;
&amp;gt; the full snapshot &amp;#8211; which is valid, I think.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; The trouble is that determining the snapshot size &amp;#8211; for that we need to&lt;br/&gt;
&amp;gt; serialize the entire data tree, which costly. Some sort of heuristic may be&lt;br/&gt;
&amp;gt; able to help, but I don&apos;t think it&apos;s worth the effort at this time.&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>2788</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=2788]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10304"><![CDATA[Low]]></customfieldvalue>

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

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