<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:05:18 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>[JSONRPC-16] Failed to match correct method overload</title>
                <link>https://jira.opendaylight.org/browse/JSONRPC-16</link>
                <project id="10132" key="JSONRPC">jsonrpc</project>
                    <description>&lt;p&gt;When there are multiple methods with same name and number of arguments, designed approach is to try them all and return first result where invocation succeeded.&lt;/p&gt;

&lt;p&gt;However, this is not implemented correctly:&lt;/p&gt;

&lt;p&gt;org.opendaylight.jsonrpc.bus.messagelib.ThreadedSessionImpl line ~225&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; Method m : opt) {
&#160;&#160;&#160; &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;[] args = getArgumentsForMethod(m, message);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; m.invoke(handler, args);
&#160;&#160;&#160; } &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; (JsonRpcException e) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; msg = &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;.format(&lt;span class=&quot;code-quote&quot;&gt;&quot;Failed to manage arguments when invoking method %s&quot;&lt;/span&gt;, m);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; LOG.debug(msg);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; IllegalArgumentException(msg, e);
&#160;&#160;&#160; }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;When first method candidate throws JsonRpcException, loop is immediately exited without trying another candidate which might succeed.&lt;/p&gt;

&lt;p&gt;There are 2 possible ways how method candidate can fail:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;by choosing inappropriate candidate (wrong arguments)&lt;/li&gt;
	&lt;li&gt;by execution of candidate method itself (throwing exception from method body)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Splitting invocation into 2 steps allows to identify more accurately real problem when multiple method candidates are tried in a row.&lt;/p&gt;</description>
                <environment></environment>
        <key id="29331">JSONRPC-16</key>
            <summary>Failed to match correct method overload</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="rkosegi">Richard Kosegi</assignee>
                                    <reporter username="rkosegi">Richard Kosegi</reporter>
                        <labels>
                    </labels>
                <created>Mon, 5 Mar 2018 06:43:56 +0000</created>
                <updated>Sat, 10 Mar 2018 09:29:32 +0000</updated>
                            <resolved>Sat, 10 Mar 2018 09:29:32 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="61404" author="rkosegi" created="Mon, 5 Mar 2018 07:43:48 +0000"  >&lt;p&gt;Proposed fix &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/69055/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/69055/&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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03b3r:</customfieldvalue>

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