You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Frank Wesemann (JIRA)" <ji...@apache.org> on 2010/02/22 17:40:28 UTC

[jira] Created: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
----------------------------------------------------------------------------

                 Key: LUCENE-2277
                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
             Project: Lucene - Java
          Issue Type: Bug
          Components: contrib/*
    Affects Versions: 3.0
         Environment: all
            Reporter: Frank Wesemann
            Priority: Critical


on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.

Patch:
Index: QueryNodeImpl.java
===================================================================
--- QueryNodeImpl.java    (revision 911642)
+++ QueryNodeImpl.java    (working copy)
@@ -74,7 +74,7 @@
           .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
     }
 
-    for (QueryNode child : getChildren()) {
+    for (QueryNode child : children) {
       add(child);
     }
 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


Re: [jira] Commented: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by Simon Willnauer <si...@googlemail.com>.
On Sun, Mar 7, 2010 at 12:02 AM, Robert Muir (JIRA) <ji...@apache.org> wrote:
>
>    [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842337#action_12842337 ]
>
> Robert Muir commented on LUCENE-2277:
> -------------------------------------
>
> Simon you could also say the bug was adding a List to itself... either way it was wrong.
>
> I liked the way Frank describes it because if someone else hit this bug, then they will
> recognize the exception message in CHANGES.
True!
Nevermind!

simon

>
>
>> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
>> ----------------------------------------------------------------------------
>>
>>                 Key: LUCENE-2277
>>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>>             Project: Lucene - Java
>>          Issue Type: Bug
>>          Components: contrib/*
>>    Affects Versions: 3.0
>>         Environment: all
>>            Reporter: Frank Wesemann
>>            Assignee: Robert Muir
>>            Priority: Critical
>>             Fix For: 3.1
>>
>>         Attachments: addChildren.patch, LUCENE-2277.patch
>>
>>
>> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
>> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
>> Patch:
>> Index: QueryNodeImpl.java
>> ===================================================================
>> --- QueryNodeImpl.java    (revision 911642)
>> +++ QueryNodeImpl.java    (working copy)
>> @@ -74,7 +74,7 @@
>>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>>      }
>>
>> -    for (QueryNode child : getChildren()) {
>> +    for (QueryNode child : children) {
>>        add(child);
>>      }
>>
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
>

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


[jira] Resolved: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Robert Muir (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Muir resolved LUCENE-2277.
---------------------------------

    Resolution: Fixed

Committed revision 919869.

Thanks Frank!

> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Assignee: Robert Muir
>            Priority: Critical
>             Fix For: 3.1
>
>         Attachments: addChildren.patch, LUCENE-2277.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Robert Muir (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842337#action_12842337 ] 

Robert Muir commented on LUCENE-2277:
-------------------------------------

Simon you could also say the bug was adding a List to itself... either way it was wrong.

I liked the way Frank describes it because if someone else hit this bug, then they will
recognize the exception message in CHANGES.


> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Assignee: Robert Muir
>            Priority: Critical
>             Fix For: 3.1
>
>         Attachments: addChildren.patch, LUCENE-2277.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Simon Willnauer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842332#action_12842332 ] 

Simon Willnauer commented on LUCENE-2277:
-----------------------------------------

Robert, should the changes text rather say something about the argument that was completely ignored. This was simply a bug due to ignoring the argument but calling a similar named method. Could be a bit picky but I thought I should mention it.

Simon

> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Assignee: Robert Muir
>            Priority: Critical
>             Fix For: 3.1
>
>         Attachments: addChildren.patch, LUCENE-2277.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Frank Wesemann (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Wesemann updated LUCENE-2277:
-----------------------------------

    Attachment: addChildren.patch

iterates over the supplied List of QueryNodes.

> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Priority: Critical
>         Attachments: addChildren.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Michael McCandless (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael McCandless updated LUCENE-2277:
---------------------------------------

    Fix Version/s: 3.1

> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Priority: Critical
>             Fix For: 3.1
>
>         Attachments: addChildren.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Assigned: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Robert Muir (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Muir reassigned LUCENE-2277:
-----------------------------------

    Assignee: Robert Muir

> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Assignee: Robert Muir
>            Priority: Critical
>             Fix For: 3.1
>
>         Attachments: addChildren.patch, LUCENE-2277.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (LUCENE-2277) QueryNodeImpl throws ConcurrentModificationException on add(List)

Posted by "Robert Muir (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Muir updated LUCENE-2277:
--------------------------------

    Attachment: LUCENE-2277.patch

attached is Frank's patch, with a testcase that fails with
ConcurrentModificationException as he describes, and passes
with the patch.

will commit soon.

> QueryNodeImpl throws ConcurrentModificationException on add(List<QueryNode>)
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2277
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2277
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>    Affects Versions: 3.0
>         Environment: all
>            Reporter: Frank Wesemann
>            Assignee: Robert Muir
>            Priority: Critical
>             Fix For: 3.1
>
>         Attachments: addChildren.patch, LUCENE-2277.patch
>
>
> on adding a List of children to a QueryNodeImplemention a ConcurrentModificationException is thrown.
> This is due to the fact that QueryNodeImpl instead of iteration over the supplied list, iterates over its internal clauses List.
> Patch:
> Index: QueryNodeImpl.java
> ===================================================================
> --- QueryNodeImpl.java    (revision 911642)
> +++ QueryNodeImpl.java    (working copy)
> @@ -74,7 +74,7 @@
>            .getLocalizedMessage(QueryParserMessages.NODE_ACTION_NOT_SUPPORTED));
>      }
>  
> -    for (QueryNode child : getChildren()) {
> +    for (QueryNode child : children) {
>        add(child);
>      }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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