Hi Pavel, Thanks for the clarification and for filing a ticket!
Yes, I'm using a CacheConfiguration with a QueryEntity, likeCacheConfigurationconfiguration= 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-15845What 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, PavelOn Thu, Oct 28, 2021 at 2:21 PM Emilio Cherubini <[email protected]> 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 [email protected] ddrobotec by Dynamic Devices AG Technoparkstrasse 1 8005 Zurich Switzerland www.ddrobotec.com
