[JBoss JIRA] (ISPN-11900) jboss-marshalling module missing application/x-jboss-marshalling transcoder
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-11900?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-11900:
--------------------------------
Summary: jboss-marshalling module missing application/x-jboss-marshalling transcoder (was: application/x-jboss-marshalling should only need jboss-marshalling module)
> jboss-marshalling module missing application/x-jboss-marshalling transcoder
> ---------------------------------------------------------------------------
>
> Key: ISPN-11900
> URL: https://issues.redhat.com/browse/ISPN-11900
> Project: Infinispan
> Issue Type: Bug
> Components: Marshalling
> Affects Versions: 11.0.0.Dev05
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 11.0.0.CR1
>
>
> The server registers a {{application/x-jboss-marshalling}} transcoder, but the transcoder should instead be registered by the {{jboss-marshalling}} module so it's available in core as well.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-11899) Allow application/x-java-serialized-object media type without custom marshaller
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-11899?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-11899:
--------------------------------
Summary: Allow application/x-java-serialized-object media type without custom marshaller (was: application/x-java-serialized-object media type should work without custom marshaller)
> Allow application/x-java-serialized-object media type without custom marshaller
> -------------------------------------------------------------------------------
>
> Key: ISPN-11899
> URL: https://issues.redhat.com/browse/ISPN-11899
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 11.0.0.Dev05
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 11.0.0.CR1
>
>
> The server registers a {{JavaSerializationTranscoder}} to make {{application/x-java-serialized-object}} available as a request/storage media type.
> The core {{EncoderRegistryFactory}} registers instead a {{JavaSerializationEncoder}}, which can be used explicitly ({{cache.withEncoding(JavaSerializationEncoder.class)}}), but is not picked up automatically when the user configures storage media type {{application/x-java-serialized-object}}.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-11899) application/x-java-serialized-object media type should work without custom marshaller
by Dan Berindei (Jira)
Dan Berindei created ISPN-11899:
-----------------------------------
Summary: application/x-java-serialized-object media type should work without custom marshaller
Key: ISPN-11899
URL: https://issues.redhat.com/browse/ISPN-11899
Project: Infinispan
Issue Type: Enhancement
Components: Core
Affects Versions: 11.0.0.Dev05
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 11.0.0.CR1
The server registers a {{JavaSerializationTranscoder}} to make {{application/x-java-serialized-object}} available as a request/storage media type.
The core {{EncoderRegistryFactory}} registers instead a {{JavaSerializationEncoder}}, which can be used explicitly ({{cache.withEncoding(JavaSerializationEncoder.class)}}), but is not picked up automatically when the user configures storage media type {{application/x-java-serialized-object}}.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-11898) Missing transcoder for user marshaller's media type
by Dan Berindei (Jira)
Dan Berindei created ISPN-11898:
-----------------------------------
Summary: Missing transcoder for user marshaller's media type
Key: ISPN-11898
URL: https://issues.redhat.com/browse/ISPN-11898
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 11.0.0.Dev05
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 11.0.0.CR1
When the user configures a custom marshaller like {{JavaSerializationMarshaller}}, the cache needs a transcoder to wrap the user marshaller and convert between Java objects and the storage media type. Of course, if the cache's storage media type is not the same as the user marshaller's media type, another transcoder will be used, but the user marshaller transcoder needs to be available.
Currently {{EncoderRegistryFactory}} registers a transcoder wrapping the global marshaller instead, and the cache won't start:
{code:java}
GlobalConfigurationBuilder gcb = new GlobalConfigurationBuilder();
gcb.serialization().marshaller(new JavaSerializationMarshaller());
DefaultCacheManager manager = new DefaultCacheManager(gcb.build());
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.encoding().mediaType(MediaType.APPLICATION_SERIALIZED_OBJECT_TYPE);
manager.createCache("cache", builder.build());
{code}
{noformat}
org.infinispan.commons.CacheConfigurationException: Unable to inject dependencies for component class org.infinispan.encoding.DataConversion, path org.infinispan.AdvancedCache (a org.infinispan.cache.impl.EncoderCache)
Caused by: org.infinispan.commons.dataconversion.EncodingException: ISPN000492: Cannot find transcoder between 'application/x-java-object' to 'application/x-java-serialized-object'
at org.infinispan.marshall.core.EncoderRegistryImpl.getTranscoder(EncoderRegistryImpl.java:64)
at org.infinispan.encoding.DataConversion.lookupTranscoder(DataConversion.java:210)
at org.infinispan.encoding.DataConversion.injectDependencies(DataConversion.java:185)
at org.infinispan.encoding.CorePackageImpl$1.wire(CorePackageImpl.java:29)
at org.infinispan.encoding.CorePackageImpl$1.wire(CorePackageImpl.java:27)
at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeInjection(BasicComponentRegistryImpl.java:339)
... 45 more
{noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-11630) Server and client get out of sync after multimap get with metadata operation
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-11630?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-11630:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: (was: 10.1.9.Final)
Resolution: Done
> Server and client get out of sync after multimap get with metadata operation
> ----------------------------------------------------------------------------
>
> Key: ISPN-11630
> URL: https://issues.redhat.com/browse/ISPN-11630
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Multimap
> Affects Versions: 11.0.0.Dev04, 10.1.6.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: testsuite_stability
> Fix For: 11.0.0.CR1
>
>
> The Hot Rod server includes metadata information with the {{GET_MULTIMAP_WITH_METADATA_REQUEST}} response even if the status is {{KEY_DOES_NOT_EXIST_STATUS}}, but the client does not expect any other information after the header, so it tries to read the metadata information as the start of a new response and fails:
> {noformat}
> 08:50:15,468 TRACE (testng-Test:[]) [Codec] [] Wrote header for messageId=47333 to PooledUnsafeDirectByteBuf(ridx: 0, widx: 14, cap: 19). Operation code: 0x69(GET_MULTIMAP_WITH_METADATA_REQUEST). Flags: 0x1. Topology id: -1
> 08:50:15,468 TRACE (HotRod-Test-ServerIO-2061-1:[]) [Encoder2x] Write topology response header with no change
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [Codec] Received response for messageId=47333
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [HeaderDecoder] Decoding header for GetKeyWithMetadataMultimapOperation{(default), key=[B0x4A016B, flags=1, connection=127.0.0.1/127.0.0.1:38741} on [id: 0x36567c12, L:/127.0.0.1:36216 - R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [HeaderDecoder] Decoding payload for GetKeyWithMetadataMultimapOperation{(default), key=[B0x4A016B, flags=1, connection=127.0.0.1/127.0.0.1:38741} on [id: 0x36567c12, L:/127.0.0.1:36216 - R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [Codec] Socket dump: A1E5F102\j020003FFFFFFFFFFFFFFFF00
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [RetryOnFailureOperation] (1) GetKeyWithMetadataMultimapOperation{(default), key=[B0x4A016B, flags=1, connection=127.0.0.1/127.0.0.1:38741} Requesting [id: 0x36567c12, L:/127.0.0.1:36216 - R:127.0.0.1/127.0.0.1:38741] close due to exception
> org.infinispan.client.hotrod.exceptions.InvalidResponseException: ISPN004003: Invalid magic number. Expected 0xa1 and received 0x3
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMessageId(Codec20.java:147) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder.decode(HeaderDecoder.java:86) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.HintedReplayingDecoder.callDecode(HintedReplayingDecoder.java:94) ~[classes/:?]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[netty-codec-4.1.45.Final.jar:4.1.45.Final]
> {noformat}
> Because the client can't parse the remaining buffer as a response, it tries to close the connection, but sometimes even closing throws an {{AssertionError}}, causing random failures in test {{RemoteMultimapCacheAPITest.testGetWithMetadataNotExist}}:
> {noformat}
> 08:50:15,469 TRACE (Test-Client-Async-454-1:[]) [ChannelRecord] Closing channel [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,469 TRACE (testng-Test:[]) [ChannelFactory] Releasing channel [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,469 TRACE (testng-Test:[]) [ChannelPool] Requesting [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741] close due to exception
> java.lang.AssertionError: Error releasing [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.release(ChannelPool.java:168) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelRecord.release(ChannelRecord.java:77) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.releaseChannel(ChannelFactory.java:312) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.HotRodOperation.releaseChannel(HotRodOperation.java:103) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.invoke(RetryOnFailureOperation.java:80) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.activateChannel(ChannelPool.java:215) [classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.acquire(ChannelPool.java:84) [classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:262) [classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:300) [classes/:?]
> at org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation.fetchChannelAndInvoke(AbstractKeyOperation.java:41) [classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:62) [classes/:?]
> at org.infinispan.client.hotrod.impl.multimap.RemoteMultimapCacheImpl.getWithMetadata(RemoteMultimapCacheImpl.java:106) [classes/:?]
> at org.infinispan.client.hotrod.RemoteMultimapCacheAPITest.testGetWithMetadataNotExist(RemoteMultimapCacheAPITest.java:59) [test-classes/:?]
> 08:50:15,479 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.client.hotrod.RemoteMultimapCacheAPITest.testGetWithMetadataNotExist
> java.lang.AssertionError: Error releasing [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.release(ChannelPool.java:168) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelRecord.release(ChannelRecord.java:77) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.releaseChannel(ChannelFactory.java:312) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.HotRodOperation.releaseChannel(HotRodOperation.java:103) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.invoke(RetryOnFailureOperation.java:80) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.activateChannel(ChannelPool.java:215) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.acquire(ChannelPool.java:84) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:262) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:300) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation.fetchChannelAndInvoke(AbstractKeyOperation.java:41) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:62) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.multimap.RemoteMultimapCacheImpl.getWithMetadata(RemoteMultimapCacheImpl.java:106) ~[classes/:?]
> at org.infinispan.client.hotrod.RemoteMultimapCacheAPITest.testGetWithMetadataNotExist(RemoteMultimapCacheAPITest.java:59) ~[test-classes/:?]
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-9760) HotRodPipeTest.testPipeRequests random failures
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-9760?page=com.atlassian.jira.plugin... ]
Dan Berindei reopened ISPN-9760:
--------------------------------
Assignee: Dan Berindei
Found this in a recent CI build
{noformat}
[2020-05-22T19:20:46.628Z] [OK: 64, KO: 1, SKIP: 0] Test failed: org.infinispan.server.hotrod.test.HotRodPipeTest.testPipeRequests
[2020-05-22T19:20:46.628Z] java.lang.AssertionError: expected:<10000>, got:<3396>
[2020-05-22T19:20:46.628Z] at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
[2020-05-22T19:20:46.628Z] at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:226)
[2020-05-22T19:20:46.628Z] at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:205)
[2020-05-22T19:20:46.628Z] at org.infinispan.test.AbstractInfinispanTest.eventuallyEquals(AbstractInfinispanTest.java:195)
[2020-05-22T19:20:46.628Z] at org.infinispan.server.hotrod.test.HotRodPipeTest.testPipeRequests(HotRodPipeTest.java:70)
{noformat}
> HotRodPipeTest.testPipeRequests random failures
> -----------------------------------------------
>
> Key: ISPN-9760
> URL: https://issues.redhat.com/browse/ISPN-9760
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite
> Affects Versions: 9.4.2.Final, 10.0.0.Alpha1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: testsuite_stability
>
> On my machine, with trace logging enabled, I sometimes get
> {noformat}
> 10:43:23,658 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.server.hotrod.test.HotRodPipeTest.testPipeRequests
> java.lang.AssertionError: expected:<10000>, got:<4668>
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59) ~[testng-6.9.9.jar:?]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:199) ~[infinispan-core-9.4.2-SNAPSHOT-tests.jar:9.4.2-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:178) ~[infinispan-core-9.4.2-SNAPSHOT-tests.jar:9.4.2-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventuallyEquals(AbstractInfinispanTest.java:168) ~[infinispan-core-9.4.2-SNAPSHOT-tests.jar:9.4.2-SNAPSHOT]
> at org.infinispan.server.hotrod.test.HotRodPipeTest.testPipeRequests(HotRodPipeTest.java:65) ~[test-classes/:?]
> {noformat}
> There are some older failures in CI that look like this
> {noformat}
> java.lang.AssertionError:
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:249)
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:231)
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:207)
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:385)
> at org.infinispan.server.hotrod.test.HotRodPipeTest.testPipeRequests(HotRodPipeTest.java:65)
> {noformat}
> https://ci.infinispan.org/job/Infinispan/job/master/862/testReport/junit/...
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-11856) IllegalLifecycleStateException during manager stop with query in classpath
by Pedro Ruivo (Jira)
[ https://issues.redhat.com/browse/ISPN-11856?page=com.atlassian.jira.plugi... ]
Pedro Ruivo updated ISPN-11856:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> IllegalLifecycleStateException during manager stop with query in classpath
> --------------------------------------------------------------------------
>
> Key: ISPN-11856
> URL: https://issues.redhat.com/browse/ISPN-11856
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 11.0.0.Dev05
> Reporter: Dan Berindei
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 11.0.0.CR1
>
>
> When the {{query-core}} module is in the classpath, the {{QueryCache}} component is registered in the global component registry, but if there query is not used, the actual query cache is never created.
> Then during manager stop, {{org.infinispan.query.core.impl.LifecycleManager.cacheStopped}} tries to remove cached queries for every stopped cache, because even non-indexed caches can have cached queries. But the query cache has not been created, and trying to create it fails with an {{IllegalLifecycleStateException}}.
> {noformat}
> 11:13:33,390 ERROR (testng-Test) [ComponentRegistry] ISPN000538: Error stopping module org.infinispan.query.impl.LifecycleManager:defaultcache
> org.infinispan.commons.IllegalLifecycleStateException: Cache container has been stopped and cannot be reused. Recreate the cache container.
> at org.infinispan.manager.DefaultCacheManager.assertIsNotTerminated(DefaultCacheManager.java:1092) ~[classes/:?]
> at org.infinispan.manager.DefaultCacheManager.doDefineConfiguration(DefaultCacheManager.java:438) ~[classes/:?]
> at org.infinispan.manager.DefaultCacheManager.defineConfiguration(DefaultCacheManager.java:418) ~[classes/:?]
> at org.infinispan.security.actions.DefineConfigurationAction.run(DefineConfigurationAction.java:28) ~[classes/:?]
> at org.infinispan.security.actions.DefineConfigurationAction.run(DefineConfigurationAction.java:14) ~[classes/:?]
> at org.infinispan.security.Security.doPrivileged(Security.java:51) ~[classes/:?]
> at org.infinispan.registry.impl.SecurityActions.defineConfiguration(SecurityActions.java:30) ~[classes/:?]
> at org.infinispan.registry.impl.InternalCacheRegistryImpl.registerInternalCache(InternalCacheRegistryImpl.java:82) ~[classes/:?]
> at org.infinispan.query.core.impl.QueryCache.getCache(QueryCache.java:102) ~[classes/:?]
> at org.infinispan.query.core.impl.QueryCache.clear(QueryCache.java:86) ~[classes/:?]
> at org.infinispan.query.impl.LifecycleManager.cacheStopped(LifecycleManager.java:337) ~[classes/:?]
> at org.infinispan.factories.ComponentRegistry.postStop(ComponentRegistry.java:252) ~[classes/:?]
> at org.infinispan.factories.AbstractComponentRegistry.stop(AbstractComponentRegistry.java:297) ~[classes/:?]
> at org.infinispan.cache.impl.CacheImpl.performImmediateShutdown(CacheImpl.java:1096) ~[classes/:?]
> at org.infinispan.cache.impl.CacheImpl.stop(CacheImpl.java:1061) ~[classes/:?]
> at org.infinispan.cache.impl.AbstractDelegatingCache.stop(AbstractDelegatingCache.java:521) ~[classes/:?]
> at org.infinispan.manager.DefaultCacheManager.terminate(DefaultCacheManager.java:803) ~[classes/:?]
> at org.infinispan.manager.DefaultCacheManager.stopCaches(DefaultCacheManager.java:859) ~[classes/:?]
> at org.infinispan.manager.DefaultCacheManager.internalStop(DefaultCacheManager.java:835) ~[classes/:?]
> at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:811) ~[classes/:?]
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months
[JBoss JIRA] (ISPN-11630) Server and client get out of sync after multimap get with metadata operation
by Pedro Ruivo (Jira)
[ https://issues.redhat.com/browse/ISPN-11630?page=com.atlassian.jira.plugi... ]
Pedro Ruivo updated ISPN-11630:
-------------------------------
Git Pull Request: https://github.com/infinispan/infinispan/pull/8208, https://github.com/infinispan/infinispan/pull/8383 (was: https://github.com/infinispan/infinispan/pull/8208)
> Server and client get out of sync after multimap get with metadata operation
> ----------------------------------------------------------------------------
>
> Key: ISPN-11630
> URL: https://issues.redhat.com/browse/ISPN-11630
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Multimap
> Affects Versions: 11.0.0.Dev04, 10.1.6.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: testsuite_stability
> Fix For: 11.0.0.CR1, 10.1.9.Final
>
>
> The Hot Rod server includes metadata information with the {{GET_MULTIMAP_WITH_METADATA_REQUEST}} response even if the status is {{KEY_DOES_NOT_EXIST_STATUS}}, but the client does not expect any other information after the header, so it tries to read the metadata information as the start of a new response and fails:
> {noformat}
> 08:50:15,468 TRACE (testng-Test:[]) [Codec] [] Wrote header for messageId=47333 to PooledUnsafeDirectByteBuf(ridx: 0, widx: 14, cap: 19). Operation code: 0x69(GET_MULTIMAP_WITH_METADATA_REQUEST). Flags: 0x1. Topology id: -1
> 08:50:15,468 TRACE (HotRod-Test-ServerIO-2061-1:[]) [Encoder2x] Write topology response header with no change
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [Codec] Received response for messageId=47333
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [HeaderDecoder] Decoding header for GetKeyWithMetadataMultimapOperation{(default), key=[B0x4A016B, flags=1, connection=127.0.0.1/127.0.0.1:38741} on [id: 0x36567c12, L:/127.0.0.1:36216 - R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [HeaderDecoder] Decoding payload for GetKeyWithMetadataMultimapOperation{(default), key=[B0x4A016B, flags=1, connection=127.0.0.1/127.0.0.1:38741} on [id: 0x36567c12, L:/127.0.0.1:36216 - R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [Codec] Socket dump: A1E5F102\j020003FFFFFFFFFFFFFFFF00
> 08:50:15,468 TRACE (Test-Client-Async-454-1:[]) [RetryOnFailureOperation] (1) GetKeyWithMetadataMultimapOperation{(default), key=[B0x4A016B, flags=1, connection=127.0.0.1/127.0.0.1:38741} Requesting [id: 0x36567c12, L:/127.0.0.1:36216 - R:127.0.0.1/127.0.0.1:38741] close due to exception
> org.infinispan.client.hotrod.exceptions.InvalidResponseException: ISPN004003: Invalid magic number. Expected 0xa1 and received 0x3
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMessageId(Codec20.java:147) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder.decode(HeaderDecoder.java:86) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.HintedReplayingDecoder.callDecode(HintedReplayingDecoder.java:94) ~[classes/:?]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[netty-codec-4.1.45.Final.jar:4.1.45.Final]
> {noformat}
> Because the client can't parse the remaining buffer as a response, it tries to close the connection, but sometimes even closing throws an {{AssertionError}}, causing random failures in test {{RemoteMultimapCacheAPITest.testGetWithMetadataNotExist}}:
> {noformat}
> 08:50:15,469 TRACE (Test-Client-Async-454-1:[]) [ChannelRecord] Closing channel [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,469 TRACE (testng-Test:[]) [ChannelFactory] Releasing channel [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> 08:50:15,469 TRACE (testng-Test:[]) [ChannelPool] Requesting [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741] close due to exception
> java.lang.AssertionError: Error releasing [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.release(ChannelPool.java:168) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelRecord.release(ChannelRecord.java:77) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.releaseChannel(ChannelFactory.java:312) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.HotRodOperation.releaseChannel(HotRodOperation.java:103) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.invoke(RetryOnFailureOperation.java:80) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.activateChannel(ChannelPool.java:215) [classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.acquire(ChannelPool.java:84) [classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:262) [classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:300) [classes/:?]
> at org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation.fetchChannelAndInvoke(AbstractKeyOperation.java:41) [classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:62) [classes/:?]
> at org.infinispan.client.hotrod.impl.multimap.RemoteMultimapCacheImpl.getWithMetadata(RemoteMultimapCacheImpl.java:106) [classes/:?]
> at org.infinispan.client.hotrod.RemoteMultimapCacheAPITest.testGetWithMetadataNotExist(RemoteMultimapCacheAPITest.java:59) [test-classes/:?]
> 08:50:15,479 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.client.hotrod.RemoteMultimapCacheAPITest.testGetWithMetadataNotExist
> java.lang.AssertionError: Error releasing [id: 0x36567c12, L:/127.0.0.1:36216 ! R:127.0.0.1/127.0.0.1:38741]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.release(ChannelPool.java:168) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelRecord.release(ChannelRecord.java:77) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.releaseChannel(ChannelFactory.java:312) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.HotRodOperation.releaseChannel(HotRodOperation.java:103) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.invoke(RetryOnFailureOperation.java:80) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.activateChannel(ChannelPool.java:215) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelPool.acquire(ChannelPool.java:84) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:262) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory.fetchChannelAndInvoke(ChannelFactory.java:300) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation.fetchChannelAndInvoke(AbstractKeyOperation.java:41) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:62) ~[classes/:?]
> at org.infinispan.client.hotrod.impl.multimap.RemoteMultimapCacheImpl.getWithMetadata(RemoteMultimapCacheImpl.java:106) ~[classes/:?]
> at org.infinispan.client.hotrod.RemoteMultimapCacheAPITest.testGetWithMetadataNotExist(RemoteMultimapCacheAPITest.java:59) ~[test-classes/:?]
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 7 months