You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martijn Dashorst (JIRA)" <ji...@apache.org> on 2011/07/06 11:05:17 UTC
[jira] [Created] (WICKET-3874) RequestLogger#getRequests throws
concurrentmodificationexceptions when used
RequestLogger#getRequests throws concurrentmodificationexceptions when used
---------------------------------------------------------------------------
Key: WICKET-3874
URL: https://issues.apache.org/jira/browse/WICKET-3874
Project: Wicket
Issue Type: Bug
Components: wicket-core
Affects Versions: 1.5-RC5.1
Reporter: Martijn Dashorst
Fix For: 1.5-RC6
The getRequests() method of the request logger doesn't work at all. It returns a synchronized list which is wrapped in a unmodifiable list. The contents of the list is linked list, so whenever you are iterating over the unmodifiable list, the request logger is updating the underlying linked list—causing ConcurrentModificationExceptions.
At topicus we worked around this by using a rounded buffer in the request logger instead of the linked list. This implementation brings improved statistics to the request logger, such as average request times across the monitored interval.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (WICKET-3874) RequestLogger#getRequests throws
concurrentmodificationexceptions when used
Posted by "Martijn Dashorst (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-3874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martijn Dashorst resolved WICKET-3874.
--------------------------------------
Resolution: Fixed
> RequestLogger#getRequests throws concurrentmodificationexceptions when used
> ---------------------------------------------------------------------------
>
> Key: WICKET-3874
> URL: https://issues.apache.org/jira/browse/WICKET-3874
> Project: Wicket
> Issue Type: Bug
> Components: wicket-core
> Affects Versions: 1.5-RC5.1
> Reporter: Martijn Dashorst
> Assignee: Martijn Dashorst
> Fix For: 1.5-RC6
>
>
> The getRequests() method of the request logger doesn't work at all. It returns a synchronized list which is wrapped in a unmodifiable list. The contents of the list is linked list, so whenever you are iterating over the unmodifiable list, the request logger is updating the underlying linked list—causing ConcurrentModificationExceptions.
> At topicus we worked around this by using a rounded buffer in the request logger instead of the linked list. This implementation brings improved statistics to the request logger, such as average request times across the monitored interval and requests per minute.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (WICKET-3874) RequestLogger#getRequests throws
concurrentmodificationexceptions when used
Posted by "Martijn Dashorst (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-3874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martijn Dashorst reassigned WICKET-3874:
----------------------------------------
Assignee: Martijn Dashorst
> RequestLogger#getRequests throws concurrentmodificationexceptions when used
> ---------------------------------------------------------------------------
>
> Key: WICKET-3874
> URL: https://issues.apache.org/jira/browse/WICKET-3874
> Project: Wicket
> Issue Type: Bug
> Components: wicket-core
> Affects Versions: 1.5-RC5.1
> Reporter: Martijn Dashorst
> Assignee: Martijn Dashorst
> Fix For: 1.5-RC6
>
>
> The getRequests() method of the request logger doesn't work at all. It returns a synchronized list which is wrapped in a unmodifiable list. The contents of the list is linked list, so whenever you are iterating over the unmodifiable list, the request logger is updating the underlying linked list—causing ConcurrentModificationExceptions.
> At topicus we worked around this by using a rounded buffer in the request logger instead of the linked list. This implementation brings improved statistics to the request logger, such as average request times across the monitored interval and requests per minute.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (WICKET-3874) RequestLogger#getRequests throws
concurrentmodificationexceptions when used
Posted by "Martijn Dashorst (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-3874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martijn Dashorst updated WICKET-3874:
-------------------------------------
Description:
The getRequests() method of the request logger doesn't work at all. It returns a synchronized list which is wrapped in a unmodifiable list. The contents of the list is linked list, so whenever you are iterating over the unmodifiable list, the request logger is updating the underlying linked list—causing ConcurrentModificationExceptions.
At topicus we worked around this by using a rounded buffer in the request logger instead of the linked list. This implementation brings improved statistics to the request logger, such as average request times across the monitored interval and requests per minute.
was:
The getRequests() method of the request logger doesn't work at all. It returns a synchronized list which is wrapped in a unmodifiable list. The contents of the list is linked list, so whenever you are iterating over the unmodifiable list, the request logger is updating the underlying linked list—causing ConcurrentModificationExceptions.
At topicus we worked around this by using a rounded buffer in the request logger instead of the linked list. This implementation brings improved statistics to the request logger, such as average request times across the monitored interval.
> RequestLogger#getRequests throws concurrentmodificationexceptions when used
> ---------------------------------------------------------------------------
>
> Key: WICKET-3874
> URL: https://issues.apache.org/jira/browse/WICKET-3874
> Project: Wicket
> Issue Type: Bug
> Components: wicket-core
> Affects Versions: 1.5-RC5.1
> Reporter: Martijn Dashorst
> Fix For: 1.5-RC6
>
>
> The getRequests() method of the request logger doesn't work at all. It returns a synchronized list which is wrapped in a unmodifiable list. The contents of the list is linked list, so whenever you are iterating over the unmodifiable list, the request logger is updating the underlying linked list—causing ConcurrentModificationExceptions.
> At topicus we worked around this by using a rounded buffer in the request logger instead of the linked list. This implementation brings improved statistics to the request logger, such as average request times across the monitored interval and requests per minute.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira