Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-7928

.NET: Exception is not propagated to the C# client and the app hangs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.3
    • 2.5
    • platforms

    Description

      An exception like https://issues.apache.org/jira/browse/IGNITE-1903 is not propagated to the C# client:
      the issue has happened during JNI call, that is why .NET hung.
      The marshaller is unable to unmarshal CacheStoreFactory class (it is absent on the client node).
       
      Stack trace:
       

      class org.apache.ignite.IgniteException: Platform error:System.ArgumentNullException: Value cannot be null. Parameter name: key    at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)    at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)    at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Type type)    at Apache.Ignite.Core.Impl.Binary.BinaryReader.ReadFullObject[T](Int32 pos, Type typeOverride)    at Apache.Ignite.Core.Impl.Binary.BinaryReader.TryDeserialize[T](T& res, Type typeOverride)    at Apache.Ignite.Core.Impl.Binary.BinaryReader.Deserialize[T](Type typeOverride)    at Apache.Ignite.Core.Impl.Binary.BinaryReader.ReadBinaryObject[T](Boolean doDetach)    at Apache.Ignite.Core.Impl.Binary.BinaryReader.TryDeserialize[T](T& res, Type typeOverride)    at Apache.Ignite.Core.Impl.Binary.BinaryReader.Deserialize[T](Type typeOverride)    at Apache.Ignite.Core.Impl.Cache.Store.CacheStore.CreateInstance(Int64 memPtr, HandleRegistry registry)    at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.CacheStoreCreate(Int64 memPtr)    at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.InLongOutLong(Void* target, Int32 type, Int64 val)         at org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.loggerLog(PlatformProcessorImpl.java:373)         at org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.processInStreamOutLong(PlatformProcessorImpl.java:423)         at org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.processInStreamOutLong(PlatformProcessorImpl.java:434)         at org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:67)         at org.apache.ignite.internal.processors.platform.callback.PlatformCallbackUtils.inLongOutLong(Native Method)         at org.apache.ignite.internal.processors.platform.callback.PlatformCallbackGateway.cacheStoreCreate(PlatformCallbackGateway.java:65)         at org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetCacheStore.initialize(PlatformDotNetCacheStore.java:403)         at org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.registerStore0(PlatformProcessorImpl.java:650)         at org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.registerStore(PlatformProcessorImpl.java:293)         at org.apache.ignite.internal.processors.cache.store.CacheOsStoreManager.start0(CacheOsStoreManager.java:60)         at org.apache.ignite.internal.processors.cache.GridCacheManagerAdapter.start(GridCacheManagerAdapter.java:50)         at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1097)         at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1826)         at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processClientCacheStartRequests(CacheAffinitySharedManager.java:428)         at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processClientCachesChanges(CacheAffinitySharedManager.java:611)         at org.apache.ignite.internal.processors.cache.GridCacheProcessor.processCustomExchangeTask(GridCacheProcessor.java:338)         at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.processCustomTask(GridCachePartitionExchangeManager.java:2142)         at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2231)         at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)         at java.lang.Thread.run(Thread.java:748)

       

      Attachments

        Issue Links

          Activity

            People

              alexey.tank2 Alexey Popov
              ezhuravl Evgenii Zhuravlev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: