<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:11: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>[MDSAL-852] IAE during dynamic proxy instantiation</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-852</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;The following splat is encountered in downstream integration:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Caused by: java.lang.IllegalArgumentException: com.google.common.util.concurrent.ListenableFuture referenced from a method is not visible from class loader: org.eclipse.osgi.internal.loader.EquinoxClassLoader @612086b4
        at java.lang.reflect.Proxy$ProxyBuilder.ensureVisible(Proxy.java:884) ~[?:?]
        at java.lang.reflect.Proxy$ProxyBuilder.validateProxyInterfaces(Proxy.java:732) ~[?:?]
        at java.lang.reflect.Proxy$ProxyBuilder.&amp;lt;init&amp;gt;(Proxy.java:648) ~[?:?]
        at java.lang.reflect.Proxy$ProxyBuilder.&amp;lt;init&amp;gt;(Proxy.java:656) ~[?:?]
        at java.lang.reflect.Proxy.lambda$getProxyConstructor$0(Proxy.java:429) ~[?:?]
        at jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329) ~[?:?]
        at jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205) ~[?:?]
        at java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:427) ~[?:?]
        at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1037) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.RpcAdapter.&amp;lt;init&amp;gt;(RpcAdapter.java:49) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMRpcServiceAdapter.loadAdapter(BindingDOMRpcServiceAdapter.java:43) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMRpcServiceAdapter.loadAdapter(BindingDOMRpcServiceAdapter.java:24) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.AbstractBindingLoadingAdapter$1.load(AbstractBindingLoadingAdapter.java:21) ~[?:?]
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3576) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2318) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2191) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2081) ~[?:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:4019) ~[?:?]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4042) ~[?:?]
        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5024) ~[?:?]
        at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5031) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.AbstractBindingLoadingAdapter.getAdapter(AbstractBindingLoadingAdapter.java:30) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMRpcServiceAdapter.getRpc(BindingDOMRpcServiceAdapter.java:35) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.adapter.osgi.OSGiRpcService.getRpc(OSGiRpcService.java:36) ~[?:?]
        at org.opendaylight.controller.sample.kitchen.impl.KitchenServiceImpl.&amp;lt;init&amp;gt;(KitchenServiceImpl.java:69) ~[?:?]
        ... 45 more
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The problem here is that our elimination of yang.binding.RpcService-generated classes done in &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-772&quot; title=&quot;Remove RpcService&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-772&quot;&gt;&lt;del&gt;MDSAL-772&lt;/del&gt;&lt;/a&gt;, generated binding bundles no longer directly import ListenableFuture&apos;s package.&lt;/p&gt;</description>
                <environment></environment>
        <key id="37911">MDSAL-852</key>
            <summary>IAE during dynamic proxy instantiation</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</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>
                            <label>pt</label>
                    </labels>
                <created>Wed, 17 Jan 2024 16:34:59 +0000</created>
                <updated>Fri, 19 Jan 2024 13:53:28 +0000</updated>
                            <resolved>Fri, 19 Jan 2024 13:53:28 +0000</resolved>
                                    <version>13.0.0</version>
                    <version>10.0.9</version>
                    <version>11.0.15</version>
                    <version>12.0.4</version>
                                    <fixVersion>13.0.0</fixVersion>
                    <fixVersion>11.0.16</fixVersion>
                    <fixVersion>12.0.5</fixVersion>
                                    <component>Binding codegen</component>
                    <component>Binding runtime</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="73107" author="rovarga" created="Wed, 17 Jan 2024 17:08:40 +0000"  >&lt;p&gt;This affects actions as well &amp;#8211; and that case affects earlier versions as well. The problem is that if a module defines only actions, earlier releases will not generate the blanket RpcService specialization &amp;#8211; and hence the generated code&apos;s bundle will not contain imports either.&lt;/p&gt;

&lt;p&gt;The real solution is &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-774&quot; title=&quot;Do not use proxies for Action/Rpc adapter &quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-774&quot;&gt;MDSAL-774&lt;/a&gt;, but that runs into lifecycle issues (i.e. we need to revoke the generated proxy if the BindingRuntimeContext changes, which brings about dragons).&lt;/p&gt;

&lt;p&gt;As a stopgap let&apos;s just generate @Override methods, which will bring ListenableFuture back into view and fix this problem.&lt;/p&gt;</comment>
                            <comment id="73109" author="rovarga" created="Thu, 18 Jan 2024 17:57:08 +0000"  >&lt;p&gt;backported version does not need to touch RPC generation because the ListenableFuture is pulled in by the FooService class.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="36223">MDSAL-774</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="36220">MDSAL-772</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|i0478v:</customfieldvalue>

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