You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Emilio Cherubini <em...@ddrobotec.com> on 2021/10/28 11:20:44 UTC

Net Core 3.1: Failure in Java callback: Invalid array specification

Hi,

Since we started using MassTransit Ignite struggles when creating or 
getting a cache using ignite.GetOrCreateCache<TKey, 
TValue>(configuration). Ignite exits after the error has been triggered.

The relevant error I guess is

Failure in Java callback Apache.Ignite.Core.Common.IgniteException: 
Invalid array specification: 
MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1

The failure happens under Windows and Linux (Docker) with .Net Core 3.1. 
Using GridGain Ignite 8.8.10.

Not sure what is happening here, GetOrCreateCache() fails in specific 
locations, and in some unit tests.

Any insights on this issue will be greatly appreciated.

Regards,

Emilio

The relevant bits from the log are:

2021-10-2812:57:19.2740| 0| ERROR| VERTIGO | IgniteTests | Failure in 
Java callback Apache.Ignite.Core.Common.IgniteException: Invalid array 
specification: 
MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String 
typeName, Int32& pos)
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String typeName)
    at 
Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String name)
    at 
Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type 
x)
    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, 
Func`2 predicate, Boolean& found)
    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 
source, Func`2 predicate)
    at Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly 
asm, String typeName, IBinaryNameMapper mapper)
    at 
Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly 
a)
    at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, 
Func`2 predicate, Boolean& found)
    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 
source, Func`2 predicate)
    at 
Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String 
assemblyName, String typeName, ICollection`1 assemblies, 
IBinaryNameMapper nameMapper)
    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String 
assemblyName, TypeNameParser typeName, ICollection`1 assemblies, 
IBinaryNameMapper nameMapper)
    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String 
typeName, String assemblyName, IBinaryNameMapper nameMapper)
    at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String 
typeName)
    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean 
userType, Int32 typeId, Boolean requiresType, String typeName, Type 
knownType)
    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String 
typeName, Boolean requiresType)
    at 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
    at 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1 
func, Boolean allowUnitialized)
2021-10-2812:57:19.3055| 0| ERROR| VERTIGO | IgniteTests | Failure in 
Java callback Apache.Ignite.Core.Common.IgniteException: Invalid array 
specification: 
MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String 
typeName, Int32& pos)
    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String typeName)
    at 
Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String name)
    at 
Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type 
x)
    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, 
Func`2 predicate, Boolean& found)
    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 
source, Func`2 predicate)
    at Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly 
asm, String typeName, IBinaryNameMapper mapper)
    at 
Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly 
a)
    at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, 
Func`2 predicate, Boolean& found)
    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 
source, Func`2 predicate)
    at 
Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String 
assemblyName, String typeName, ICollection`1 assemblies, 
IBinaryNameMapper nameMapper)
    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String 
assemblyName, TypeNameParser typeName, ICollection`1 assemblies, 
IBinaryNameMapper nameMapper)
    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String 
typeName, String assemblyName, IBinaryNameMapper nameMapper)
    at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String 
typeName)
    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean 
userType, Int32 typeId, Boolean requiresType, String typeName, Type 
knownType)
    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String 
typeName, Boolean requiresType)
    at 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
    at 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1 
func, Boolean allowUnitialized)
    at 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.BinaryTypeGet(Int64 
memPtr)
    at 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.InLongOutLong(Int32 
type, Int64 val)
2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | GridDiscoveryManager | 
Exceptionin discovery notifier worker thread.
2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | IgniteTests | Critical 
system error detected. Will be handled accordingly to configured handler 
[hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, 
super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet 
[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], 
failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=class 
o.a.i.IgniteException: Invalid array specification: 
MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1]] 

2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | FailureProcessor | No 
deadlocked threads detected.
2021-10-2812:57:19.3567| 0| ERROR| VERTIGO | FailureProcessor | Thread 
dump at 2021/10/2810:57:19UTC

Re: Net Core 3.1: Failure in Java callback: Invalid array specification

Posted by Emilio Cherubini <em...@ddrobotec.com>.
Hi Pavel,

Yes, this works! No more failures. Thanks a lot Pavel.

Emilio

On 28/10/2021 15:44, Pavel Tupitsyn wrote:
> > manually specify the QueryEntity queryable fields and indexes in the 
> CacheConfiguration
>
> No need to do that.
>
> Just add those calls before ignite.GetOrCreateCache:
>  ignite.GetBinary().GetBinaryType(typeof(TKey));
>  ignite.GetBinary().GetBinaryType(typeof(TValue));
>
> (substitute actual type names as necessary)
>
> This will perform a forced type registration on .NET side and should 
> hopefully fix the issue with cache startup.
>
> On Thu, Oct 28, 2021 at 4:27 PM Emilio Cherubini 
> <em...@ddrobotec.com> wrote:
>
>     Hi Pavel,
>
>     Thanks for the clarification and for filing a ticket!
>
>     Yes, I'm using a CacheConfiguration with a QueryEntity, like
>
>     CacheConfigurationconfiguration= newCacheConfiguration(cacheName,
>     newQueryEntity(typeof(TKey), typeof(TValue)))
>     {
>     }
>
>     I tried to manually specify the QueryEntity queryable fields and
>     indexes in the CacheConfiguration instead of relying on the
>     [QuerySqlField] attributes like in
>     https://ignite.apache.org/docs/latest/SQL/sql-api#query-entities.
>
>     But no success.
>
>     I don't know how to register QueryEntity types manually using
>     ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE)). Or do I have
>     to specify a BinaryConfiguration to do that?
>
>     Thanks again,
>
>     Emilio
>
>     On 28/10/2021 13:56, Pavel Tupitsyn wrote:
>>     Hi Emilio,
>>
>>     This is a bug, I've filed a ticket:
>>     https://issues.apache.org/jira/browse/IGNITE-15845
>>
>>     What does the config look like? You have some QueryEntity
>>     defined, am I right?
>>
>>     I think a workaround is to register QueryEntity types manually
>>     before creating the cache:
>>     ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE))
>>
>>     Let me know if this works.
>>
>>     Thanks,
>>     Pavel
>>
>>
>>     On Thu, Oct 28, 2021 at 2:21 PM Emilio Cherubini
>>     <em...@ddrobotec.com> wrote:
>>
>>         Hi,
>>
>>         Since we started using MassTransit Ignite struggles when
>>         creating or getting a cache using
>>         ignite.GetOrCreateCache<TKey, TValue>(configuration). Ignite
>>         exits after the error has been triggered.
>>
>>         The relevant error I guess is
>>
>>         Failure in Java callback
>>         Apache.Ignite.Core.Common.IgniteException: Invalid array
>>         specification:
>>         MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
>>
>>         The failure happens under Windows and Linux (Docker) with
>>         .Net Core 3.1. Using GridGain Ignite 8.8.10.
>>
>>         Not sure what is happening here, GetOrCreateCache() fails in
>>         specific locations, and in some unit tests.
>>
>>         Any insights on this issue will be greatly appreciated.
>>
>>         Regards,
>>
>>         Emilio
>>
>>         The relevant bits from the log are:
>>
>>         2021-10-2812:57:19.2740| 0| ERROR| VERTIGO | IgniteTests |
>>         Failure in Java callback
>>         Apache.Ignite.Core.Common.IgniteException: Invalid array
>>         specification:
>>         MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>>            at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String
>>         typeName, Int32& pos)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String
>>         typeName)
>>            at
>>         Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
>>         name)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
>>         x)
>>            at
>>         System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>>         source, Func`2 predicate, Boolean& found)
>>            at
>>         System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>>         source, Func`2 predicate)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly
>>         asm, String typeName, IBinaryNameMapper mapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
>>         a)
>>            at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>>            at
>>         System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>>         source, Func`2 predicate, Boolean& found)
>>            at
>>         System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>>         source, Func`2 predicate)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
>>         assemblyName, String typeName, ICollection`1 assemblies,
>>         IBinaryNameMapper nameMapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>>         assemblyName, TypeNameParser typeName, ICollection`1
>>         assemblies, IBinaryNameMapper nameMapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>>         typeName, String assemblyName, IBinaryNameMapper nameMapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
>>         typeName)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
>>         userType, Int32 typeId, Boolean requiresType, String
>>         typeName, Type knownType)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
>>         typeName, Boolean requiresType)
>>            at
>>         Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>>            at
>>         Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
>>         func, Boolean allowUnitialized)
>>         2021-10-2812:57:19.3055| 0| ERROR| VERTIGO | IgniteTests |
>>         Failure in Java callback
>>         Apache.Ignite.Core.Common.IgniteException: Invalid array
>>         specification:
>>         MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>>            at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String
>>         typeName, Int32& pos)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String
>>         typeName)
>>            at
>>         Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
>>         name)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
>>         x)
>>            at
>>         System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>>         source, Func`2 predicate, Boolean& found)
>>            at
>>         System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>>         source, Func`2 predicate)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly
>>         asm, String typeName, IBinaryNameMapper mapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
>>         a)
>>            at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>>            at
>>         System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>>         source, Func`2 predicate, Boolean& found)
>>            at
>>         System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>>         source, Func`2 predicate)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
>>         assemblyName, String typeName, ICollection`1 assemblies,
>>         IBinaryNameMapper nameMapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>>         assemblyName, TypeNameParser typeName, ICollection`1
>>         assemblies, IBinaryNameMapper nameMapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>>         typeName, String assemblyName, IBinaryNameMapper nameMapper)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
>>         typeName)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
>>         userType, Int32 typeId, Boolean requiresType, String
>>         typeName, Type knownType)
>>            at
>>         Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
>>         typeName, Boolean requiresType)
>>            at
>>         Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>>            at
>>         Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
>>         func, Boolean allowUnitialized)
>>            at
>>         Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.BinaryTypeGet(Int64
>>         memPtr)
>>            at
>>         Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.InLongOutLong(Int32
>>         type, Int64 val)
>>         2021-10-2812:57:19.3081| 0| ERROR| VERTIGO |
>>         GridDiscoveryManager | Exceptionin discovery notifier worker
>>         thread.
>>         2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | IgniteTests |
>>         Critical system error detected. Will be handled accordingly
>>         to configured handler [hnd=StopNodeOrHaltFailureHandler
>>         [tryStop=false, timeout=0, super=AbstractFailureHandler
>>         [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
>>         SYSTEM_CRITICAL_OPERATION_TIMEOUT]]],
>>         failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION,
>>         err=class o.a.i.IgniteException: Invalid array specification:
>>         MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1]]
>>
>>         2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | FailureProcessor
>>         | No deadlocked threads detected.
>>         2021-10-2812:57:19.3567| 0| ERROR| VERTIGO | FailureProcessor
>>         | Thread dump at 2021/10/2810:57:19UTC
>>

Re: Net Core 3.1: Failure in Java callback: Invalid array specification

Posted by Pavel Tupitsyn <pt...@apache.org>.
> manually specify the QueryEntity queryable fields and indexes in the
CacheConfiguration

No need to do that.

Just add those calls before ignite.GetOrCreateCache:
 ignite.GetBinary().GetBinaryType(typeof(TKey));
 ignite.GetBinary().GetBinaryType(typeof(TValue));

(substitute actual type names as necessary)

This will perform a forced type registration on .NET side and should
hopefully fix the issue with cache startup.

On Thu, Oct 28, 2021 at 4:27 PM Emilio Cherubini <em...@ddrobotec.com>
wrote:

> Hi Pavel,
>
> Thanks for the clarification and for filing a ticket!
>
> Yes, I'm using a CacheConfiguration with a QueryEntity, like
> CacheConfiguration configuration = new CacheConfiguration(cacheName, new
> QueryEntity(typeof(TKey), typeof(TValue)))
> {
> }
>
> I tried to manually specify the QueryEntity queryable fields and indexes
> in the CacheConfiguration instead of relying on the [QuerySqlField]
> attributes like in
> https://ignite.apache.org/docs/latest/SQL/sql-api#query-entities.
>
> But no success.
>
> I don't know how to register QueryEntity types manually using
> ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE)). Or do I have to
> specify a BinaryConfiguration to do that?
>
> Thanks again,
>
> Emilio
> On 28/10/2021 13:56, Pavel Tupitsyn wrote:
>
> Hi Emilio,
>
> This is a bug, I've filed a ticket:
> https://issues.apache.org/jira/browse/IGNITE-15845
>
> What does the config look like? You have some QueryEntity defined, am I
> right?
>
> I think a workaround is to register QueryEntity types manually before
> creating the cache:
> ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE))
>
> Let me know if this works.
>
> Thanks,
> Pavel
>
>
> On Thu, Oct 28, 2021 at 2:21 PM Emilio Cherubini <em...@ddrobotec.com>
> wrote:
>
>> Hi,
>>
>> Since we started using MassTransit Ignite struggles when creating or
>> getting a cache using ignite.GetOrCreateCache<TKey, TValue>(configuration).
>> Ignite exits after the error has been triggered.
>>
>> The relevant error I guess is
>> Failure in Java callback Apache.Ignite.Core.Common.IgniteException:
>> Invalid array specification:
>> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
>> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
>> 1
>>
>> The failure happens under Windows and Linux (Docker) with .Net Core 3.1.
>> Using GridGain Ignite 8.8.10.
>>
>> Not sure what is happening here, GetOrCreateCache() fails in specific
>> locations, and in some unit tests.
>>
>> Any insights on this issue will be greatly appreciated.
>>
>> Regards,
>>
>> Emilio
>>
>> The relevant bits from the log are:
>> 2021-10-28 12:57:19.2740 | 0 | ERROR | VERTIGO | IgniteTests | Failure
>> in Java callback Apache.Ignite.Core.Common.IgniteException: Invalid
>> array specification:
>> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
>> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
>> 1
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String
>> typeName, Int32& pos)
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String typeName)
>>    at Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
>> name)
>>    at
>> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
>> x)
>>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
>> Func`2 predicate, Boolean& found)
>>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>> source, Func`2 predicate)
>>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly asm,
>> String typeName, IBinaryNameMapper mapper)
>>    at
>> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
>> a)
>>    at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
>> Func`2 predicate, Boolean& found)
>>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>> source, Func`2 predicate)
>>    at
>> Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
>> assemblyName, String typeName, ICollection`1 assemblies, IBinaryNameMapper
>> nameMapper)
>>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>> assemblyName, TypeNameParser typeName, ICollection`1 assemblies,
>> IBinaryNameMapper nameMapper)
>>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>> typeName, String assemblyName, IBinaryNameMapper nameMapper)
>>    at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
>> typeName)
>>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
>> userType, Int32 typeId, Boolean requiresType, String typeName, Type
>> knownType)
>>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
>> typeName, Boolean requiresType)
>>    at
>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>>    at
>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
>> func, Boolean allowUnitialized)
>> 2021-10-28 12:57:19.3055 | 0 | ERROR | VERTIGO | IgniteTests | Failure
>> in Java callback Apache.Ignite.Core.Common.IgniteException: Invalid
>> array specification:
>> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
>> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
>> 1
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String
>> typeName, Int32& pos)
>>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String typeName)
>>    at Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
>> name)
>>    at
>> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
>> x)
>>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
>> Func`2 predicate, Boolean& found)
>>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>> source, Func`2 predicate)
>>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly asm,
>> String typeName, IBinaryNameMapper mapper)
>>    at
>> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
>> a)
>>    at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
>> Func`2 predicate, Boolean& found)
>>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>> source, Func`2 predicate)
>>    at
>> Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
>> assemblyName, String typeName, ICollection`1 assemblies, IBinaryNameMapper
>> nameMapper)
>>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>> assemblyName, TypeNameParser typeName, ICollection`1 assemblies,
>> IBinaryNameMapper nameMapper)
>>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>> typeName, String assemblyName, IBinaryNameMapper nameMapper)
>>    at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
>> typeName)
>>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
>> userType, Int32 typeId, Boolean requiresType, String typeName, Type
>> knownType)
>>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
>> typeName, Boolean requiresType)
>>    at
>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>>    at
>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
>> func, Boolean allowUnitialized)
>>    at
>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.BinaryTypeGet(Int64
>> memPtr)
>>    at
>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.InLongOutLong(Int32
>> type, Int64 val)
>> 2021-10-28 12:57:19.3081 | 0 | ERROR | VERTIGO | GridDiscoveryManager |
>> Exception in discovery notifier worker thread.
>> 2021-10-28 12:57:19.3081 | 0 | ERROR | VERTIGO | IgniteTests | Critical
>> system error detected. Will be handled accordingly to configured handler
>> [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0,
>> super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet
>> [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]],
>> failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=class
>> o.a.i.IgniteException: Invalid array specification:
>> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
>> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
>> 1]]
>> 2021-10-28 12:57:19.3081 | 0 | ERROR | VERTIGO | FailureProcessor | No
>> deadlocked threads detected.
>> 2021-10-28 12:57:19.3567 | 0 | ERROR | VERTIGO | FailureProcessor |
>> Thread dump at 2021/10/28 10:57:19 UTC
>>
> --
> Emilio Cherubini
> Head of Software
> emilio@ddrobotec.com
>
> ddrobotec
> by Dynamic Devices AG
> Technoparkstrasse 1
> 8005 Zurich
> Switzerland
> www.ddrobotec.com
>
>

Re: Net Core 3.1: Failure in Java callback: Invalid array specification

Posted by Emilio Cherubini <em...@ddrobotec.com>.
Hi Pavel,

Thanks for the clarification and for filing a ticket!

Yes, I'm using a CacheConfiguration with a QueryEntity, like

CacheConfigurationconfiguration= newCacheConfiguration(cacheName, 
newQueryEntity(typeof(TKey), typeof(TValue)))
{
}

I tried to manually specify the QueryEntity queryable fields and indexes 
in the CacheConfiguration instead of relying on the [QuerySqlField] 
attributes like in 
https://ignite.apache.org/docs/latest/SQL/sql-api#query-entities.

But no success.

I don't know how to register QueryEntity types manually using 
ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE)). Or do I have to 
specify a BinaryConfiguration to do that?

Thanks again,

Emilio

On 28/10/2021 13:56, Pavel Tupitsyn wrote:
> Hi Emilio,
>
> This is a bug, I've filed a ticket: 
> https://issues.apache.org/jira/browse/IGNITE-15845
>
> What does the config look like? You have some QueryEntity defined, am 
> I right?
>
> I think a workaround is to register QueryEntity types manually before 
> creating the cache:
> ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE))
>
> Let me know if this works.
>
> Thanks,
> Pavel
>
>
> On Thu, Oct 28, 2021 at 2:21 PM Emilio Cherubini 
> <em...@ddrobotec.com> wrote:
>
>     Hi,
>
>     Since we started using MassTransit Ignite struggles when creating
>     or getting a cache using ignite.GetOrCreateCache<TKey,
>     TValue>(configuration). Ignite exits after the error has been
>     triggered.
>
>     The relevant error I guess is
>
>     Failure in Java callback
>     Apache.Ignite.Core.Common.IgniteException: Invalid array
>     specification:
>     MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
>
>     The failure happens under Windows and Linux (Docker) with .Net
>     Core 3.1. Using GridGain Ignite 8.8.10.
>
>     Not sure what is happening here, GetOrCreateCache() fails in
>     specific locations, and in some unit tests.
>
>     Any insights on this issue will be greatly appreciated.
>
>     Regards,
>
>     Emilio
>
>     The relevant bits from the log are:
>
>     2021-10-2812:57:19.2740| 0| ERROR| VERTIGO | IgniteTests | Failure
>     in Java callback Apache.Ignite.Core.Common.IgniteException:
>     Invalid array specification:
>     MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>        at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>        at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String
>     typeName, Int32& pos)
>        at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String
>     typeName)
>        at
>     Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
>     name)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
>     x)
>        at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>     source, Func`2 predicate, Boolean& found)
>        at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>     source, Func`2 predicate)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly asm,
>     String typeName, IBinaryNameMapper mapper)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
>     a)
>        at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>        at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>     source, Func`2 predicate, Boolean& found)
>        at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>     source, Func`2 predicate)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
>     assemblyName, String typeName, ICollection`1 assemblies,
>     IBinaryNameMapper nameMapper)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>     assemblyName, TypeNameParser typeName, ICollection`1 assemblies,
>     IBinaryNameMapper nameMapper)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>     typeName, String assemblyName, IBinaryNameMapper nameMapper)
>        at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
>     typeName)
>        at
>     Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
>     userType, Int32 typeId, Boolean requiresType, String typeName,
>     Type knownType)
>        at
>     Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
>     typeName, Boolean requiresType)
>        at
>     Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>        at
>     Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
>     func, Boolean allowUnitialized)
>     2021-10-2812:57:19.3055| 0| ERROR| VERTIGO | IgniteTests | Failure
>     in Java callback Apache.Ignite.Core.Common.IgniteException:
>     Invalid array specification:
>     MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>        at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>        at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String
>     typeName, Int32& pos)
>        at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String
>     typeName)
>        at
>     Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
>     name)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
>     x)
>        at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>     source, Func`2 predicate, Boolean& found)
>        at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>     source, Func`2 predicate)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly asm,
>     String typeName, IBinaryNameMapper mapper)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
>     a)
>        at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>        at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1
>     source, Func`2 predicate, Boolean& found)
>        at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1
>     source, Func`2 predicate)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
>     assemblyName, String typeName, ICollection`1 assemblies,
>     IBinaryNameMapper nameMapper)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>     assemblyName, TypeNameParser typeName, ICollection`1 assemblies,
>     IBinaryNameMapper nameMapper)
>        at
>     Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
>     typeName, String assemblyName, IBinaryNameMapper nameMapper)
>        at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
>     typeName)
>        at
>     Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
>     userType, Int32 typeId, Boolean requiresType, String typeName,
>     Type knownType)
>        at
>     Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
>     typeName, Boolean requiresType)
>        at
>     Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>        at
>     Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
>     func, Boolean allowUnitialized)
>        at
>     Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.BinaryTypeGet(Int64
>     memPtr)
>        at
>     Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.InLongOutLong(Int32
>     type, Int64 val)
>     2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | GridDiscoveryManager
>     | Exceptionin discovery notifier worker thread.
>     2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | IgniteTests |
>     Critical system error detected. Will be handled accordingly to
>     configured handler [hnd=StopNodeOrHaltFailureHandler
>     [tryStop=false, timeout=0, super=AbstractFailureHandler
>     [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
>     SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext
>     [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException:
>     Invalid array specification:
>     MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter+<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`1]]
>
>     2021-10-2812:57:19.3081| 0| ERROR| VERTIGO | FailureProcessor | No
>     deadlocked threads detected.
>     2021-10-2812:57:19.3567| 0| ERROR| VERTIGO | FailureProcessor |
>     Thread dump at 2021/10/2810:57:19UTC
>
-- 
Emilio Cherubini
Head of Software

emilio@ddrobotec.com

ddrobotec
by Dynamic Devices AG
Technoparkstrasse 1
8005 Zurich
Switzerland

www.ddrobotec.com

Re: Net Core 3.1: Failure in Java callback: Invalid array specification

Posted by Pavel Tupitsyn <pt...@apache.org>.
Hi Emilio,

This is a bug, I've filed a ticket:
https://issues.apache.org/jira/browse/IGNITE-15845

What does the config look like? You have some QueryEntity defined, am I
right?

I think a workaround is to register QueryEntity types manually before
creating the cache:
ignite.GetBinary().GetBinaryType(typeof(YOUR_TYPE))

Let me know if this works.

Thanks,
Pavel


On Thu, Oct 28, 2021 at 2:21 PM Emilio Cherubini <em...@ddrobotec.com>
wrote:

> Hi,
>
> Since we started using MassTransit Ignite struggles when creating or
> getting a cache using ignite.GetOrCreateCache<TKey, TValue>(configuration).
> Ignite exits after the error has been triggered.
>
> The relevant error I guess is
> Failure in Java callback Apache.Ignite.Core.Common.IgniteException:
> Invalid array specification:
> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
> 1
>
> The failure happens under Windows and Linux (Docker) with .Net Core 3.1.
> Using GridGain Ignite 8.8.10.
>
> Not sure what is happening here, GetOrCreateCache() fails in specific
> locations, and in some unit tests.
>
> Any insights on this issue will be greatly appreciated.
>
> Regards,
>
> Emilio
>
> The relevant bits from the log are:
> 2021-10-28 12:57:19.2740 | 0 | ERROR | VERTIGO | IgniteTests | Failure in
> Java callback Apache.Ignite.Core.Common.IgniteException: Invalid array
> specification:
> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
> 1
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String typeName,
> Int32& pos)
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String typeName)
>    at Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
> name)
>    at
> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
> x)
>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
> Func`2 predicate, Boolean& found)
>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source,
> Func`2 predicate)
>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly asm,
> String typeName, IBinaryNameMapper mapper)
>    at
> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
> a)
>    at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
> Func`2 predicate, Boolean& found)
>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source,
> Func`2 predicate)
>    at
> Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
> assemblyName, String typeName, ICollection`1 assemblies, IBinaryNameMapper
> nameMapper)
>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
> assemblyName, TypeNameParser typeName, ICollection`1 assemblies,
> IBinaryNameMapper nameMapper)
>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
> typeName, String assemblyName, IBinaryNameMapper nameMapper)
>    at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
> typeName)
>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
> userType, Int32 typeId, Boolean requiresType, String typeName, Type
> knownType)
>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
> typeName, Boolean requiresType)
>    at
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>    at
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
> func, Boolean allowUnitialized)
> 2021-10-28 12:57:19.3055 | 0 | ERROR | VERTIGO | IgniteTests | Failure in
> Java callback Apache.Ignite.Core.Common.IgniteException: Invalid array
> specification:
> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
> 1
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.ParseArrayDefinition()
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse()
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser..ctor(String typeName,
> Int32& pos)
>    at Apache.Ignite.Core.Impl.Binary.TypeNameParser.Parse(String typeName)
>    at Apache.Ignite.Core.Binary.BinaryBasicNameMapper.GetTypeName(String
> name)
>    at
> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass8_0.<FindType>b__0(Type
> x)
>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
> Func`2 predicate, Boolean& found)
>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source,
> Func`2 predicate)
>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.FindType(Assembly asm,
> String typeName, IBinaryNameMapper mapper)
>    at
> Apache.Ignite.Core.Impl.Binary.TypeResolver.<>c__DisplayClass4_0.<ResolveNonGenericType>b__1(Assembly
> a)
>    at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
>    at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source,
> Func`2 predicate, Boolean& found)
>    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source,
> Func`2 predicate)
>    at
> Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveNonGenericType(String
> assemblyName, String typeName, ICollection`1 assemblies, IBinaryNameMapper
> nameMapper)
>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
> assemblyName, TypeNameParser typeName, ICollection`1 assemblies,
> IBinaryNameMapper nameMapper)
>    at Apache.Ignite.Core.Impl.Binary.TypeResolver.ResolveType(String
> typeName, String assemblyName, IBinaryNameMapper nameMapper)
>    at Apache.Ignite.Core.Impl.Binary.Marshaller.ResolveType(String
> typeName)
>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(Boolean
> userType, Int32 typeId, Boolean requiresType, String typeName, Type
> knownType)
>    at Apache.Ignite.Core.Impl.Binary.Marshaller.GetDescriptor(String
> typeName, Boolean requiresType)
>    at
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.<>c__DisplayClass98_0.<BinaryTypeGet>b__0()
>    at
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.SafeCall[T](Func`1
> func, Boolean allowUnitialized)
>    at
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.BinaryTypeGet(Int64
> memPtr)
>    at
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.InLongOutLong(Int32
> type, Int64 val)
> 2021-10-28 12:57:19.3081 | 0 | ERROR | VERTIGO | GridDiscoveryManager |
> Exception in discovery notifier worker thread.
> 2021-10-28 12:57:19.3081 | 0 | ERROR | VERTIGO | IgniteTests | Critical
> system error detected. Will be handled accordingly to configured handler
> [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0,
> super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet
> [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]],
> failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=class
> o.a.i.IgniteException: Invalid array specification:
> MassTransit.Initializers.PropertyConverters.MessageDataPropertyConverter
> +<MassTransit-Initializers-IPropertyConverter<MassTransit-MessageData<System-Byte\[\]>\,MassTransit-MessageData<System-String>>-Convert>d__4`
> 1]]
> 2021-10-28 12:57:19.3081 | 0 | ERROR | VERTIGO | FailureProcessor | No
> deadlocked threads detected.
> 2021-10-28 12:57:19.3567 | 0 | ERROR | VERTIGO | FailureProcessor |
> Thread dump at 2021/10/28 10:57:19 UTC
>