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] [Commented] (DIRAPI-236) Unbind during search hangs
Date Sun, 26 Apr 2015 20:12:38 GMT

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

Mime
View raw message