[
https://issues.apache.org/jira/browse/DIRSERVER-1384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734821#action_12734821
]
Emmanuel Lecharny commented on DIRSERVER-1384:
----------------------------------------------
So after half a day investingating this issue, here is what I found :
- The way the MINA exectoruFilter works makes it impossible for the
AbandonRequest to be processed unless the previous SearchRequest is fully
processed, which is insane.
- there were a hell of a bigger problem, though : as we were blocked in the
executor until the SearchRequest was totally processed, all the responses were
enqueued. That means we had thousands of SearchResultEntries stacked somewhere,
waiting for the SR to return. That explains why Kiran had an OOM with 10000
searches, as the comment in the tests stated :
// I tried with 10000 entries but only to encounter a OOM :(
// TODO test this with higher number of entries to actually let the
server abort
// the operation
- This could have led to fast OOM for huge requests. The way to fix that was to
simply modifiy the Executor in order to only filter the MESSAGE_RECEIVED, so
that the WriteRequest are send back to the client asap.
- Know, we still have the problem about the abandonRequest which can't be
processed while the SearchRequest is not finished. May be using an
UnorderedThreadPoolExecutor can help ?
> Abandonned requests are not abandonned...
> -----------------------------------------
>
> Key: DIRSERVER-1384
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1384
> Project: Directory ApacheDS
> Issue Type: Bug
> Affects Versions: 1.5.4
> Reporter: Emmanuel Lecharny
> Priority: Critical
> Fix For: 1.5.5
>
>
> The AbandonRequest is correctly handled, but the way the search is now
> handled makes the abandon request to be ignored.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.