You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2019/04/05 16:07:00 UTC
[jira] [Commented] (IGNITE-11690) .NET: Cache iteration hangs with
enabled peerAssemblyLoading
[ https://issues.apache.org/jira/browse/IGNITE-11690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810981#comment-16810981 ]
Pavel Tupitsyn commented on IGNITE-11690:
-----------------------------------------
Analysis:
* .NET Core is used
* PeerAssemblyLoading for System.Configuration.ConfigurationManager hangs: this assembly is not present on any of the nodes (see https://github.com/dotnet/standard/issues/506)
Root cause:
* Assembly.Load during peer loading triggers more peer requests if the assembly is not present, this goes on forever if the assembly is not found on any nodes
> .NET: Cache iteration hangs with enabled peerAssemblyLoading
> ------------------------------------------------------------
>
> Key: IGNITE-11690
> URL: https://issues.apache.org/jira/browse/IGNITE-11690
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.7
> Reporter: Alexandr Shapkin
> Assignee: Alexandr Shapkin
> Priority: Major
>
> Solution to reproduce: [https://www.dropbox.com/s/xsgqhwjyctyg3o3/Example%20solution.rar?dl=0]
> Given:
> * 2 server .NET nodes with PeerAssembly = enabled
> * Simple custom type cache with a few records
> {code:java}
> ignite.GetOrCreateCache<Guid, Hotel>(new CacheConfiguration(Hotel.Cache, new QueryEntity(typeof(Guid), typeof(Hotel))));
> {code}
> * 1 Client node that spawn computation task and performs a simple iteration over cache
>
>
> {code:java}
> class HelloAction : IComputeAction
> {
> [InstanceResource]
> private IIgnite _ignite;
> public void Invoke()
> {
> var hotels = _ignite.GetCache<Guid, Hotel>("SomeName").ToList()
> }
> }
> {code}
>
> Problem:
>
> One of the server nodes successfully performs the computation, but the other getting locked inside the
> {code:java}
> AssemblyRequestResult ComputeApplySafe(ICompute compute, GetAssemblyFunc func,
> AssemblyRequest req)
> {code}
> When I disable PeerAssembly then all is getting back to normal
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)