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

Pavel Tupitsyn commented on IGNITE-2492:
----------------------------------------

[~vozerov], peer deploying assemblies to a separate AppDomain allows unloading, 
but has the following issues:
* Multiple AppDomains are not supported in .NET Core (Cross-platform .NET, 
IGNITE-2662)
* AppDomains do not share anything. Static variables have different values, you 
can't pass object references from one to another. So user code will observer 
unexpected behavior with static state
* AppDomains are expensive. We'll have to spin up all Ignite APIs in a separate 
domain again, register binary types, prepare reflective actions, and so on. 
Managing lifetime of these objects and JNI interop will be complicated.

Given all of the above, I propose the following:
* Replace {{IgniteConfiguration.PeerAssemblyLoadingEnabled}} with an enum 
{{IgniteConfiguration.PeerAssemblyLoadingMode}} with values {{None}} (default) 
and {{SameAppDomain}}.
* Release current implementation and implement isolated mode later.

This way users have clear understanding of what is going on and that other 
modes will be added in future.
Agreed?

> .NET: Peer assembly loading
> ---------------------------
>
>                 Key: IGNITE-2492
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2492
>             Project: Ignite
>          Issue Type: New Feature
>          Components: platforms
>    Affects Versions: 1.1.4
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>              Labels: .net, important
>             Fix For: 2.1
>
>
> Similar to peer class loading in Java, we can provide a possibility to load 
> assemblies on already started nodes, so that a node can execute jobs that are 
> not present on other nodes.
> Considerations:
> * Can we unload assemblies after use to free memory? This requires a separate 
> AppDomain, can we work with that?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to