reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Service (JIRA)" <>
Subject [jira] [Commented] (REEF-1763) Replace interop call from clrSystemSetupBridgeHandlerManager to Call_ClrSystem_SetupBridgeHandlerManager
Date Thu, 01 Jun 2017 05:29:04 GMT


Doug Service commented on REEF-1763:

I have done the work to replace this call with asynchronous Avro messages from the Java side
to the C# side. Unfortunately, during testing I found this breaks the current protocol which
relies on the synchronous nature of the current implementation in some cases. To resolve this
issue the messaging protocol will also need to be synchronous. My current thoughts are to
hold the Java calling thread on a condition variable which maps to a message id. When the
call completes on the C# side, an ack message will be returned with the original message id
and the calling thread will be released. This is essentially a remote procedure call design
which mimics the current interop design. A fully asynchronous implementation will most likely
require a redesign of the protocol in the future. 

Please comment if you have any ideas on this topic. I would especially like to know the intention
of the original design as to whether is was perceived as being asynchronous even though it
has a synchronous implementation. Otherwise, I am moving full speed ahead with the synchronous
ack so I can get out a pull request out on this JIRA asap. 

> Replace interop call from clrSystemSetupBridgeHandlerManager to Call_ClrSystem_SetupBridgeHandlerManager

> ---------------------------------------------------------------------------------------------------------
>                 Key: REEF-1763
>                 URL:
>             Project: REEF
>          Issue Type: Sub-task
>          Components: REEF Bridge, REEF Driver
>            Reporter: Doug Service
>            Assignee: Doug Service
> Currently bridge communication from Java to C# is performed via managed C++ interop which
is not supported on Linux. This is the first of a number of changes to replace all of the
interop calls between Java and C# with Avro messages carried by the REEF Wake networking classes.

This message was sent by Atlassian JIRA

View raw message