<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:54:58 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-1216] Hot reloading MD-SAL application in karaf container</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1216</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;An UnsupportedOperationException is thrown when you try to deploy an MD-SAL application.&lt;/p&gt;

&lt;p&gt;Caused by: java.lang.UnsupportedOperationException: Class reloading is not supported&lt;br/&gt;
at org.opendaylight.controller.config.yang.config.pmn_sdn_provider.impl.AbstractPmnSdnProviderModuleFactory.handleChangedClass(AbstractPmnSdnProviderModuleFactory.java:76)&lt;br/&gt;
at org.opendaylight.controller.config.yang.config.pmn_sdn_provider.impl.AbstractPmnSdnProviderModuleFactory.createModule(AbstractPmnSdnProviderModuleFactory.java:54)&lt;br/&gt;
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.copyExistingModule(ConfigTransactionControllerImpl.java:185&lt;/p&gt;


&lt;p&gt;The new code does not take effect.&lt;/p&gt;

&lt;p&gt;I see that &#8220;handleChangedClass&#8221; referred to in above exception is not implemented and throws UnsupportedOperationException.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25770">CONTROLLER-1216</key>
            <summary>Hot reloading MD-SAL application in karaf container</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="10000">Done</resolution>
                                        <assignee username="vorburger">Michael Vorburger</assignee>
                                    <reporter username="abhishk2@cisco.com">Abhishek Kumar</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Mar 2015 20:45:34 +0000</created>
                <updated>Tue, 25 Jul 2023 08:23:57 +0000</updated>
                            <resolved>Tue, 4 Jul 2017 20:42:20 +0000</resolved>
                                                                    <component>config</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="50280" author="tony.tkacik@gmail.com" created="Tue, 17 Mar 2015 09:06:48 +0000"  >&lt;p&gt;I believed this was for hot reloading of MD-SAL, but that is for your application,&lt;br/&gt;
since class reloading is specific (and may require different handling) for each application,&lt;br/&gt;
in your case you need to implement handleChangedClass method&lt;br/&gt;
and migrate any data you may want during that.&lt;/p&gt;</comment>
                            <comment id="50281" author="abhishk2@cisco.com" created="Thu, 19 Mar 2015 17:36:56 +0000"  >&lt;p&gt;We could create another defect for hot reloading of MD-SAL itself. This defect is intended to be for hot reloading applications based on MD-SAL (like the one I have). It uses config subsystem for dependency injection and osgi registration.&lt;/p&gt;

&lt;p&gt;In the handleChangedClass, I would like to create a new module instance (based on new classes). The new instance creation for module requires &quot;DependencyResolver&quot; that is not passed to this method.&lt;/p&gt;

&lt;p&gt;Any pointers on how to get a reference to DependencyResolver?&lt;/p&gt;

&lt;p&gt;Also, since this method handleChangedClass will always need to be implemented by the module, does it make sense to move it out of abstract factory and place inside module factory during code gen?&lt;/p&gt;</comment>
                            <comment id="50282" author="tony.tkacik@gmail.com" created="Mon, 23 Mar 2015 08:43:04 +0000"  >&lt;p&gt;As your explained this is for your application, so this could not be fixed in Controller, but in your app.&lt;/p&gt;

&lt;p&gt;Closing this as Resolved - Wontfix, since fix is needed in your app.&lt;br/&gt;
Please open new feature request for MD-SAL for Berillium.&lt;/p&gt;</comment>
                            <comment id="50283" author="abhishk2@cisco.com" created="Fri, 3 Apr 2015 20:54:27 +0000"  >&lt;p&gt;This issue is in the yangtools generated class. Hence, reopening the defect but changing the product to yangtools.&lt;/p&gt;

&lt;p&gt;If you notice the stacktrace in the description above, the failing method is&lt;br/&gt;
AbstractPmnSdnProviderModuleFactory.handleChangedClass().&lt;/p&gt;

&lt;p&gt;This source code for this class is auto-generated by yangtools and can not be modified by application.&lt;/p&gt;</comment>
                            <comment id="50284" author="tony.tkacik@gmail.com" created="Tue, 7 Apr 2015 07:30:39 +0000"  >&lt;p&gt;Closing - handleChangedClass needs to be customized by user, we can not autogenerate different implementation, since that means bundle got reloaded and may contains incompatible class changes, which effectivelly means yangtools and contoller compontents do not know how it changed, if this change was compatible&lt;br/&gt;
and how to migrate state between changes.&lt;/p&gt;

&lt;p&gt;So we should update description for handleChangedClass which describes in general&lt;br/&gt;
that user needs to override it to support bundle reloades and also needs to detect&lt;br/&gt;
upgrades of bundle and do state migration.&lt;/p&gt;</comment>
                            <comment id="50285" author="tony.tkacik@gmail.com" created="Tue, 7 Apr 2015 07:31:40 +0000"  >&lt;p&gt;Moving back to controller, since JMX generator is config subsystem generator and is not present in yangtools (never was).&lt;/p&gt;</comment>
                            <comment id="50286" author="vorburger" created="Mon, 13 Jun 2016 23:04:19 +0000"  >&lt;p&gt;&lt;a href=&quot;https://lists.opendaylight.org/pipermail/mdsal-dev/2016-June/000360.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/mdsal-dev/2016-June/000360.html&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="50287" author="vorburger" created="Sat, 18 Jun 2016 18:42:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/40514/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/40514/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="50288" author="vorburger" created="Tue, 28 Jun 2016 15:16:31 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/40950/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/40950/&lt;/a&gt;&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>2855</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=2855]]></customfieldvalue>

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

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