reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Inglis (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (REEF-2048) Application built with REEF on .net 461 will fail to resolve System.ValueTuple
Date Sat, 06 Oct 2018 00:32:00 GMT

     [ https://issues.apache.org/jira/browse/REEF-2048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Scott Inglis updated REEF-2048:
-------------------------------
    Description: 
When running an application built with REEF, I ran into an issue where System.ValueTuple failed
to resolve with the following error:

System.IO.FileLoadException: 'Could not load file or assembly "System.ValueTuple, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" or one of its dependencies. The definition
of the assembly manifest found does not match the reference to the assembly.

It worked locally on my machine but failed in Azure Batch. After researching, I determined
that the failure was due to a library trying to resolve the .net framework 4.7 version of
the System.TupleValue – because the machines in Azure Batch did not have the .net framework
installed on the machine, it would hit this issue.

The fix is to use Binding Redirects in the app.config. This means that both Org.Apache.REEF.Bridge.exe
and Org.Apache.REEF.Evaluator.exe need to support this.

 

Proposal for the fix:

Currently the app.configs for these applications are generated at runtime and are out of date.
In addition Visual Studio can generate the binding redirects at build time using the following
tags:
{quote}<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
{quote}
 

To fix this, the recommendation is to add the above tags to build.Common.props file. Then
embed the generated app.config for both the bridge and evaluator into the client library.
At runtime these will be extracted along with the jars and Bridge executable.

REEF does support overrides of these configs through the use of job submission parameters.
If an override is specified, the config file will not be extracted and the user specified
one will be generated.

  was:
When running an application built with REEF, I ran into an issue where System.ValueTuple failed
to resolve with the following error:

System.IO.FileLoadException: 'Could not load file or assembly "System.ValueTuple, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" or one of its dependencies. The definition
of the assembly manifest found does not match the reference to the assembly.

It worked locally on my machine but failed in Azure Batch. After researching, I determined
that the failure was due to a library trying to resolve the .net framework 4.7 version of
the System.TupleValue – because the machines in Azure Batch did not have the .net framework
installed on the machine, it would hit this issue.

The fix is to use Binding Redirects in the app.config. This means that both Org.Apache.REEF.Bridge.exe
and Org.Apache.REEF.Evaluator.exe need to support this.

 

Proposal for the fix:

Currently the app.configs for these applications are generated at runtime and are out of date.
In addition Visual Studio can generate the binding redirects at build time using the following
tags:

{{ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>}}

 

To fix this, the recommendation is to add the above tags to build.Common.props file. Then
embed the generated app.config for both the bridge and evaluator into the client library.
At runtime these will be extracted along with the jars and Bridge executable.

REEF does support overrides of these configs through the use of job submission parameters.
If an override is specified, the config file will not be extracted and the user specified
one will be generated.


> Application built with REEF on .net 461 will fail to resolve System.ValueTuple
> ------------------------------------------------------------------------------
>
>                 Key: REEF-2048
>                 URL: https://issues.apache.org/jira/browse/REEF-2048
>             Project: REEF
>          Issue Type: Bug
>            Reporter: Scott Inglis
>            Assignee: Scott Inglis
>            Priority: Minor
>
> When running an application built with REEF, I ran into an issue where System.ValueTuple
failed to resolve with the following error:
> System.IO.FileLoadException: 'Could not load file or assembly "System.ValueTuple, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" or one of its dependencies. The definition
of the assembly manifest found does not match the reference to the assembly.
> It worked locally on my machine but failed in Azure Batch. After researching, I determined
that the failure was due to a library trying to resolve the .net framework 4.7 version of
the System.TupleValue – because the machines in Azure Batch did not have the .net framework
installed on the machine, it would hit this issue.
> The fix is to use Binding Redirects in the app.config. This means that both Org.Apache.REEF.Bridge.exe
and Org.Apache.REEF.Evaluator.exe need to support this.
>  
> Proposal for the fix:
> Currently the app.configs for these applications are generated at runtime and are out
of date. In addition Visual Studio can generate the binding redirects at build time using
the following tags:
> {quote}<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
> {quote}
>  
> To fix this, the recommendation is to add the above tags to build.Common.props file.
Then embed the generated app.config for both the bridge and evaluator into the client library.
At runtime these will be extracted along with the jars and Bridge executable.
> REEF does support overrides of these configs through the use of job submission parameters.
If an override is specified, the config file will not be extracted and the user specified
one will be generated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message