[
https://issues.apache.org/jira/browse/JCR-3833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15222839#comment-15222839
]
Takahito Kikuchi commented on JCR-3833:
---------------------------------------
[[email protected]], we are concerned about cache.entrySet().iterator() at
Line 576 but not cache.remove().
If the entry object in cache is removed successfully by cache.remove(),
cache.entrySet would be decreased then next entry will be retrieved and
removed. However, if the entry object is not removed due to the failure of
removing the file during async upload, the entry in cache would not be removed,
then the next entry would be the same entry again by the iterator at Line 576
because the iterator is not changed still. Consequently, that causes endless
loop until async upload of the file completes. If the file is larger, the
endless loop will continue for a longer time. It's harmful.
Hence, we think cache.entrySet().iterator() at Line 576 is not needed so that
the failed entry should never be retrieved during the purge job. If the
{{iterator}} after {{remove}} is needed, please let us know why.
> Compatibility with Java 8
> -------------------------
>
> Key: JCR-3833
> URL: https://issues.apache.org/jira/browse/JCR-3833
> Project: Jackrabbit Content Repository
> Issue Type: Task
> Reporter: Unico Hommes
> Assignee: Unico Hommes
> Fix For: 2.9.1, 2.8.1
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)