[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 updated ISPN-6522:
------------------------------------
Status: Open (was: New)
> 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
>
> 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-6522) Cannot use @DateBridge with WildFly modules: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
by Gustavo Fernandes (JIRA)
Gustavo Fernandes created ISPN-6522:
---------------------------------------
Summary: 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: 9.0.0.Alpha1, 8.2.1.Final
Reporter: 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-6478) Netty worker thread starvation with events
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-6478?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-6478:
-----------------------------------
Fix Version/s: (was: 8.2.2.Final)
> Netty worker thread starvation with events
> ------------------------------------------
>
> Key: ISPN-6478
> URL: https://issues.jboss.org/browse/ISPN-6478
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.2.1.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Blocker
> Fix For: 9.0.0.Alpha2, 9.0.0.Final
>
>
> As a result of ISPN-6005, we decoupled the incoming Hot Rod server invocations from sending events by adding a intermediate queue that maintains the events to send to clients. However, this separation can lead to a Netty worker thread starvation issue since we add the events to the queue in Netty's IO thread, so if the queue is full, incoming requests are stuck.
--
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 Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-5342?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño reassigned ISPN-5342:
--------------------------------------
Assignee: William Burns
> 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-5342) Refactor Hot Rod server code
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-5342?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-5342:
-----------------------------------
Fix Version/s: 9.0.0.Alpha2
9.0.0.Final
> 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-5342) Refactor Hot Rod server code
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-5342?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-5342:
-----------------------------------
Status: Open (was: New)
> 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-5342) Refactor Hot Rod server code
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-5342?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-5342:
-----------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/4240
> 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