You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2015/04/26 18:18:38 UTC

[jira] [Resolved] (DIRAPI-236) Unbind during search hangs

     [ https://issues.apache.org/jira/browse/DIRAPI-236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny resolved DIRAPI-236.
--------------------------------------
    Resolution: Fixed

That was an easy one to fix ! The map containing all the futures (ie, pending operations) was cleared when an unbind was done, while we would expect some of those future to be used later.

I cancelled the future before clearing the map, so the search operation (and all the others) are not anymore hanging, waiting for the associated future to complete.

The test has been activated, with 3 searches instead of one.

> Unbind during search hangs
> --------------------------
>
>                 Key: DIRAPI-236
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-236
>             Project: Directory Client API
>          Issue Type: Bug
>    Affects Versions: 1.0.0-M29
>            Reporter: Stefan Seelmann
>             Fix For: 1.0.0-M30
>
>
> Calling LdapNetworkConnection.unbind() while iterating over an EntryCursor lets the iterator hang, either infinite (if timelimit is 0) or till the timeout occurs.
> Here is the part of a thread dump:
> {noformat}
> "main" prio=10 tid=0x00007f3e5400b800 nid=0x117f waiting on condition [0x00007f3e5c5ab000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e310c000> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
> 	at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
> 	at org.apache.directory.ldap.client.api.future.ResponseFuture.get(ResponseFuture.java:133)
> 	at org.apache.directory.ldap.client.api.future.SearchFuture.get(SearchFuture.java:69)
> 	at org.apache.directory.ldap.client.api.SearchCursorImpl.next(SearchCursorImpl.java:121)
> 	at org.apache.directory.ldap.client.api.EntryCursorImpl.next(EntryCursorImpl.java:90)
> 	at org.apache.directory.shared.client.api.operations.bind.SimpleBindRequestTest.testUnbindDuringSearch(SimpleBindRequestTest.java:635)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)