directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (DIRAPI-236) Unbind during search hangs
Date Sun, 26 Apr 2015 16:18:38 GMT

     [ 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)

Mime
View raw message