You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Markus Weimer (JIRA)" <ji...@apache.org> on 2017/09/29 01:34:00 UTC

[jira] [Commented] (REEF-1894) Remove locks in event handlers in Java bridge JobDriver

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

Markus Weimer commented on REEF-1894:
-------------------------------------

[~dougservice], [~motus], you might want to pay attention to this one. The synchronized nature of the C#<->Java bridge is something you are carefully preserving right now, right?

> Remove locks in event handlers in Java bridge JobDriver
> -------------------------------------------------------
>
>                 Key: REEF-1894
>                 URL: https://issues.apache.org/jira/browse/REEF-1894
>             Project: REEF
>          Issue Type: Bug
>            Reporter: Julia
>
> Currently in event handlers in JobDriver in Java bridge code, we have synchronized on the JobDriver.this, that makes the event handlers single threaded. Each handler will call to C# and then return back, then release the lock. It is not scaleble when there are many containers and many events. 
> We need to carefully look at each case to see if there is any shared data that need to be locked. If yes, we might need to only lock on the data. If not, we should be able to remove the  synchronized in those handlers. 
> At C# side, in DriverBridge, we must make sure it is thread safe if we remove this synchronized line. 
> At C# user handlers, it is user driver's responsibility to make sure their shared data is thread safe. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)