[JBoss JIRA] (ISPN-6442) NullPointerException in HotRodDecoder.channelActive
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-6442?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-6442:
-----------------------------------------------
Tristan Tarrant <ttarrant(a)redhat.com> changed the Status of [bug 1322679|https://bugzilla.redhat.com/show_bug.cgi?id=1322679] from NEW to POST
> NullPointerException in HotRodDecoder.channelActive
> ---------------------------------------------------
>
> Key: ISPN-6442
> URL: https://issues.jboss.org/browse/ISPN-6442
> Project: Infinispan
> Issue Type: Bug
> Components: Server, Test Suite - Server
> Affects Versions: 8.2.0.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Critical
> Labels: testsuite_stability
> Fix For: 9.0.0.Alpha1, 9.0.0.Final
>
>
> {{HotRodServer.startInternal}} first starts the Netty transport (with {{super.startInternal()}}) and only then initializes the {{clientListenerRegistry}} field. That means the server can accept a request before {{clientListenerRegistry}} is initialized, causing a NPE in {{HotRodDecoder.channelActive()}}.
> Visible as random failures in {{DistTopologyChangeUnderLoadSingleOwnerTest.testRestartServerWhilePutting}}:
> {noformat}
> 00:10:54,718 ERROR (HotRodServerWorker-408-1) [CacheDecodeContext] ISPN005009: Unexpected error before any request parameters read java.lang.NullPointerException
> at org.infinispan.server.hotrod.HotRodDecoder.channelActive(HotRodDecoder.scala:284)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:183)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:169)
> at io.netty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:817)
> at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:453)
> at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:377)
> at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:423)
> at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
> java.util.concurrent.ExecutionException: org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for messageId=46498 returned server error (status=0x85): java.lang.NullPointerException
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at org.infinispan.client.hotrod.DistTopologyChangeUnderLoadSingleOwnerTest.testRestartServerWhilePutting(DistTopologyChangeUnderLoadSingleOwnerTest.java:64)
> Caused by: org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for messageId=46498 returned server error (status=0x85): java.lang.NullPointerException
> at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:132)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:118)
> at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
> at org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation.sendPutOperation(AbstractKeyValueOperation.java:56)
> at org.infinispan.client.hotrod.impl.operations.PutOperation.executeOperation(PutOperation.java:32)
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:54)
> at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:268)
> at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:79)
> at org.infinispan.client.hotrod.DistTopologyChangeUnderLoadSingleOwnerTest$PutHammer.call(DistTopologyChangeUnderLoadSingleOwnerTest.java:76)
> at org.infinispan.client.hotrod.DistTopologyChangeUnderLoadSingleOwnerTest$PutHammer.call(DistTopologyChangeUnderLoadSingleOwnerTest.java:67)
> at org.infinispan.test.AbstractInfinispanTest$LoggingCallable.call(AbstractInfinispanTest.java:478)
> ... 4 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (ISPN-6522) Cannot use @DateBridge with WildFly modules: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-6522?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes reassigned ISPN-6522:
---------------------------------------
Assignee: Gustavo Fernandes
> Cannot use @DateBridge with WildFly modules: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
> -------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-6522
> URL: https://issues.jboss.org/browse/ISPN-6522
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying, WildFly modules
> Affects Versions: 8.2.1.Final, 9.0.0.Alpha1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> The Hibernate Search engine detects if the elasticsearch backend is on the classpath,
> and if so, adds {{o.h.s.backend.elasticsearch.impl.ElasticsearchBridgeProvider}} to the top of the list of the annotation based bridge providers.
> When processing an entity with a @DateBridge annotation, it picks the elasticsearch provider to converted from/to {{Date}} objects (since it has priority) which in turn fails with the exception:
> {code}
> org.infinispan.commons.CacheException: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
> at org.hibernate.search.backend.elasticsearch.impl.ElasticsearchBridgeProvider$EsDateBridge.convertToString(ElasticsearchBridgeProvider.java:71)
> at org.hibernate.search.backend.elasticsearch.impl.ElasticsearchBridgeProvider$EsDateBridge.set(ElasticsearchBridgeProvider.java:54)
> at org.hibernate.search.bridge.util.impl.ContextualExceptionBridgeHelper$OneWayConversionContextImpl.set(ContextualExceptionBridgeHelper.java:110)
> at org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFieldsForProperties(DocumentBuilderIndexedEntity.java:626)
> {code}
>
> This exception happens only when using the infinispan modules, where the elasticsearch backend is added as a dependency; in embedded mode the aforementioned provider is not loaded since the elasticsearch is not on the classpath.
> This current behaviour is not the best for two reasons:
> * When using Wildlfy modules, the elasticsearch backend is marked as optional, but still, it's visible in the classpath and gets loaded
> * If the user is not using the elasticsearch backend, but the jar is on the classpath, elasticsearch date conversion will take precedence over the built-in bridge providers, and it shouldn't
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (ISPN-5943) Access log of cache operations
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-5943?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-5943:
--------------------------------
Summary: Access log of cache operations (was: Access log and statistics of cache operations)
> Access log of cache operations
> ------------------------------
>
> Key: ISPN-5943
> URL: https://issues.jboss.org/browse/ISPN-5943
> Project: Infinispan
> Issue Type: Feature Request
> Components: JMX, reporting and management
> Reporter: Pedro Zapata
> Assignee: William Burns
> Labels: jdg7
>
> The HotRod and REST endpoint will have a dedicated log category, which will be disabled by default, to which we will log using a format which follows the typical HTTPD server access.log format, i.e. client_ip user_id timestamp op key response_size processing_time.
> Enabling the log will be possible either by configuring the XML or by using the CLI.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (ISPN-5342) Refactor Hot Rod server code
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5342?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-5342:
------------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Refactor Hot Rod server code
> ----------------------------
>
> Key: ISPN-5342
> URL: https://issues.jboss.org/browse/ISPN-5342
> Project: Infinispan
> Issue Type: Task
> Components: Server
> Affects Versions: 7.2.0.Beta2
> Reporter: Gustavo Fernandes
> Assignee: William Burns
> Fix For: 9.0.0.Alpha2, 9.0.0.Final
>
>
> This should include:
> * Use ByteToMessageDecoder rather than ReplayDecoder
> * Decouple Decoder/Encoder from cache/exec operations invocation and channel IO related tasks. Decoder/Encoders should deal only with Bytes to Messages transformations, and could be possibly re-used in a eventual Netty Client
> * Define more clearly Hot Rod Requests and Responses objects, and add a channel handler to operate on those messages by invoking cache or scripts operations
> * Better separation version-wise of the DecoderXX/EncoderXX, avoiding using a single class for multiple versions
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (ISPN-5083) Hot Rod decoder should use async Cache operations
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5083?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes commented on ISPN-5083:
-----------------------------------------
Netty IO threads should be free by using the extra executor introduced on ISPN-5342, do still think we should use cache async operations [~galderz]?
> Hot Rod decoder should use async Cache operations
> -------------------------------------------------
>
> Key: ISPN-5083
> URL: https://issues.jboss.org/browse/ISPN-5083
> Project: Infinispan
> Issue Type: Enhancement
> Components: Remote Protocols
> Reporter: Galder Zamarreño
> Assignee: Gustavo Fernandes
> Fix For: 9.0.0.Alpha2
>
>
> Hot Rod decoder is currently tying up Netty threads as a result of calling up to Infinispan sync operations. Instead, Hot Rod decoder should call up async operations, convert the Notifying Futures to Scala Futures, and write up the reply when it's received. This should increase performance specially under heavy load.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (ISPN-6471) Avoid blocking on Netty IO threads
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-6471?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-6471:
------------------------------------
Status: Open (was: New)
> Avoid blocking on Netty IO threads
> ----------------------------------
>
> Key: ISPN-6471
> URL: https://issues.jboss.org/browse/ISPN-6471
> Project: Infinispan
> Issue Type: Enhancement
> Components: Server
> Reporter: Gustavo Fernandes
>
> Currently all cache operations are being executed in the {{NioEventLoopGroup}}.
> Threads from this event loop group are responsible to process IO events from one or more channels and if it's blocked by one cache operation, all channels will stop processing events.
> We should not block on IO threads but rather on a separate executor.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months