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
<emi...@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