You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2017/08/20 14:17:00 UTC

[jira] [Commented] (AXIS2-5868) Small logic error in axis2-kernel ParameterIncludeImpl.java

    [ https://issues.apache.org/jira/browse/AXIS2-5868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16134434#comment-16134434 ] 

Andreas Veithen commented on AXIS2-5868:
----------------------------------------

I believe that piece of code is actually nonsense and should be removed. There are two reasons:
* We synchronize on parameters anyway, so I don't understand why we would want to replace the {{HashMap}} by a {{ConcurrentHashMap}} dynamically.
* As far as I know, {{ConcurrentModificationException}} is only thrown by iterators created from a {{HashMap}}, but never by {{put}}.

> Small logic error in axis2-kernel ParameterIncludeImpl.java
> -----------------------------------------------------------
>
>                 Key: AXIS2-5868
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5868
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.7.6
>            Reporter: Jeff Thomas
>
> Found small bug in the axis2-kernel ParameterIncludeImpl.java.
> The "parameters.put(param.getName(), param)" is always performed twice.
> It looks like a copy/paste mistake when moving the "put" into the try block, the original line was not removed and remains outside of the try block.  In the worst-case scenario, the ConcurrentModificationException would not be caught as expected.
> {code:java}
> public void addParameter(Parameter param) {
>   if (param != null) {
>     synchronized (parameters) {
>       parameters.put(param.getName(), param);
>       try {
>         parameters.put(param.getName(), param);
>       } catch (ConcurrentModificationException cme) {
>         ...
>       }
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org