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

Jukka Zitting commented on OAK-78:
----------------------------------

> Wrong, the javadoc for the Client class clearly says

That's what I was referring to. There's no need for us to use just a single 
HttpExecutor instance and thus require synchronization of all methods. In 
revision 1331832 I modified the code so that a new HttpExecutor instance is 
created for each method call. That adds some overhead due to the extra socket 
connections, but avoids the concurrency bottleneck.

To avoid the connection overhead, I'd recommend using the 
[HttpClient|http://hc.apache.org/httpcomponents-client-ga/] library that 
contains a thread-safe and standards-compliant implementation of reusable 
connections. But that's best handled in a separate issue, assuming we want to 
further develop this RPC-based remoting mechanism.
                
> waitForCommit() test failure for MK remoting
> --------------------------------------------
>
>                 Key: OAK-78
>                 URL: https://issues.apache.org/jira/browse/OAK-78
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mk
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>            Priority: Minor
>             Fix For: 0.2
>
>
> The .mk.client.Client class is synchronized, which makes it fail the new 
> waitForCommit() integration test.
> There doesn't seem to be any need for synchronization in Client (the server 
> should in any case be thread-safe), so I think we should just unsynchronize 
> the Client method.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to