[ 
https://issues.apache.org/jira/browse/DIRAPI-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14513232#comment-14513232
 ] 

Emmanuel Lecharny commented on DIRAPI-236:
------------------------------------------

I get it. I think the API should be thread safe, and various threads should be 
able to use the same connection. All in all, the messages are atomic (requests 
or responses) when they are sent. 

I guess we have a lot of things to check in the API in order to guarantee we 
don't mess with concurrent requests.

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

Reply via email to