[JBoss JIRA] (WFLY-4234) EjbSuspendInterceptor doesn't play well with undeploy
by Richard Achmatowicz (JIRA)
Richard Achmatowicz created WFLY-4234:
-----------------------------------------
Summary: EjbSuspendInterceptor doesn't play well with undeploy
Key: WFLY-4234
URL: https://issues.jboss.org/browse/WFLY-4234
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 9.0.0.Alpha1
Reporter: Richard Achmatowicz
Assignee: Stuart Douglas
The scenario is performing undeployment of an EJB application in the presence of incoming requests.
If my understanding of the suspend/resume mechanism is correct, in the ideal case, performing an undeployment should disable invocations arriving after undeployment has been initiated, and also allow requests active at undeployment initiation some time to complete.
In the clustering integration test RemoteFailoverTestCase, I am seeing failures in which the foloowing sequence of events occurs:
- an EJB invocation on EJB SFSB X gets past the EJBSuspendInterceptor
- undeployment is initiated and suspend is called on the ControlPoint for X
- undeployment proceeds, removing certain resources required for the invocation
- the active invocation fails due to resources not being available
Here is one such example:
{code}
[0m14:22:04,459 INFO [org.jboss.ejb.client] (main) JBoss EJB Client version 2.0.1.Final
14:22:04,485 INFO [org.jboss.ejb.client.remoting] (Remoting "config-based-ejb-client-endpoint" task-5) EJBCLIENT000017: Received server version 2 and marshalling strategies [river]
14:22:04,492 INFO [org.jboss.ejb.client.remoting] (main) EJBCLIENT000013: Successful version handshake completed for receiver context EJBReceiverContext{clientContext=org.jboss.ejb.client.EJBClientContext@2ba6ac4c, receiver=Remoting connection EJB receiver [connection=org.jboss.ejb.client.remoting.ConnectionPool$PooledConnection(a)4b79c7f7,channel=jboss.ejb,nodename=node-0]} on channel Channel ID ad5ee733 (outbound) of Remoting connection 29cd434b to /127.0.0.1:8080
[0m14:22:04,500 INFO [stdout] (EJB default - 1) ControlPoint: beginRequest called
[0m14:22:04,529 INFO [org.jboss.ejb.client.remoting] (Remoting "config-based-ejb-client-endpoint" task-15) EJBCLIENT000017: Received server version 2 and marshalling strategies [river]
14:22:04,530 INFO [org.jboss.ejb.client.remoting] (ejb-client-cluster-node-connection-creation-3-thread-2) EJBCLIENT000013: Successful version handshake completed for receiver context EJBReceiverContext{clientContext=org.jboss.ejb.client.EJBClientContext@2ba6ac4c, receiver=Remoting connection EJB receiver [connection=org.jboss.ejb.client.remoting.ConnectionPool$PooledConnection(a)74f6ab8a,channel=jboss.ejb,nodename=node-1]} on channel Channel ID d24c9830 (outbound) of Remoting connection 759d3b52 to /127.0.0.1:8180
[0m14:22:04,542 INFO [org.jboss.ejb.client] (EJB default - 1) JBoss EJB Client version 2.0.1.Final
[0m[0m14:22:04,560 INFO [stdout] (EJB default - 1) ControlPoint: requestComplete called
[0m[0m14:22:09,682 INFO [stdout] (EJB default - 2) ControlPoint: beginRequest called
[0m[0m14:22:09,702 INFO [stdout] (EJB default - 2) ControlPoint: requestComplete called
[0mCLIENT: making invocation on bean: value = 1
[0m14:22:09,710 INFO [stdout] (EJB default - 3) ControlPoint: beginRequest called
[0m[0m14:22:09,715 INFO [stdout] (EJB default - 3) ControlPoint: requestComplete called
[0mCLIENT: made invocation on bean [ node-0 ]: new value = 2
14:22:09,717 INFO [org.jboss.as.test.clustering.NodeUtil] (main) Undeploying deployment=deployment-0
CLIENT: making invocation on bean: value = 2
[0m14:22:09,728 INFO [stdout] (EJB default - 4) ControlPoint: beginRequest called
[0m[0m14:22:09,730 INFO [stdout] (ServerService Thread Pool -- 29) EJBComponent: stopping remote-failover-test:remote-failover-test:SlowToDestroyStatefulIncrementorBean
[0m[0m14:22:09,730 INFO [stdout] (ServerService Thread Pool -- 31) EJBComponent: stopping remote-failover-test:remote-failover-test:StatefulIncrementorBean
[0m[0m14:22:09,730 INFO [stdout] (ServerService Thread Pool -- 67) EJBComponent: stopping remote-failover-test:remote-failover-test:SecureStatelessIncrementorBean
[0m[0m14:22:09,730 INFO [stdout] (ServerService Thread Pool -- 31) ControlPoint: pause called
[0m[0m14:22:09,730 INFO [stdout] (ServerService Thread Pool -- 4) EJBComponent: stopping remote-failover-test:remote-failover-test:StatelessIncrementorBean
[0m[0m14:22:09,731 INFO [stdout] (ServerService Thread Pool -- 29) ControlPoint: pause called
[0m[0m14:22:09,731 INFO [stdout] (ServerService Thread Pool -- 11) EJBComponent: stopping remote-failover-test:remote-failover-test:ClientIncrementorBean
[0m[0m14:22:09,731 INFO [stdout] (ServerService Thread Pool -- 4) ControlPoint: pause called
[0m[0m14:22:09,732 INFO [stdout] (ServerService Thread Pool -- 67) ControlPoint: pause called
[0m[0m14:22:09,732 INFO [stdout] (ServerService Thread Pool -- 11) ControlPoint: pause called
[0m[0m14:22:09,733 INFO [org.infinispan.eviction.impl.PassivationManagerImpl] (ServerService Thread Pool -- 29) ISPN000029: Passivating all entries to disk
[0m[0m14:22:09,735 INFO [stdout] (EJB default - 4) ControlPoint: requestComplete called
[0m[31m14:22:09,735 ERROR [org.jboss.as.ejb3] (EJB default - 4) WFLYEJB0150: Could not write method invocation failure for method public abstract org.jboss.as.test.clustering.cluster.ejb.remote.bean.Result org.jboss.as.test.clustering.cluster.ejb.remote.bean.Incrementor.increment() on bean named SlowToDestroyStatefulIncrementorBean for appname modulename remote-failover-test distinctname due to: java.lang.NullPointerException
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.getWeakAffinity(MethodInvocationMessageHandler.java:269)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$500(MethodInvocationMessageHandler.java:69)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:237)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
[0m[0m14:22:09,736 INFO [org.infinispan.eviction.impl.PassivationManagerImpl] (ServerService Thread Pool -- 29) ISPN000030: Passivated 2 entries in 2 milliseconds
[0m14:22:09,736 INFO [org.jboss.ejb.client.remoting] (Remoting "config-based-ejb-client-endpoint" task-5) EJBCLIENT000016: Channel Channel ID ad5ee733 (outbound) of Remoting connection 29cd434b to /127.0.0.1:8080 can no longer process messages
[0m14:22:09,738 INFO [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0010: Stopping weld service for deployment remote-failover-test.jar
[0m[0m14:22:09,740 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 29) WFLYCLINF0003: Stopped remote-failover-test.jar cache from ejb container
[0m[0m14:22:09,760 INFO [org.infinispan.eviction.impl.PassivationManagerImpl] (ServerService Thread Pool -- 29) ISPN000029: Passivating all entries to disk
[0m[0m14:22:09,761 INFO [org.infinispan.eviction.impl.PassivationManagerImpl] (ServerService Thread Pool -- 29) ISPN000030: Passivated 1 entries in 0 milliseconds
[0m[0m14:22:09,762 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0028: Stopped deployment remote-failover-test.jar (runtime-name: remote-failover-test.jar) in 36ms
[0m[0m14:22:09,764 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 29) WFLYCLINF0003: Stopped dist cache from ejb container
[0m[0m14:22:09,766 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-12) ISPN000080: Disconnecting JGroups channel ejb
[0m[0m14:22:09,766 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-12) ISPN000082: Stopping the RpcDispatcher for channel ejb
[0m[0m14:22:09,772 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (Incoming-4,ee,node-1) ISPN000094: Received new cluster view for channel ejb: [node-1|2] (1) [node-1]
[0m[0m14:22:09,807 INFO [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002: Content removed from location /home/nrla/projects/wildfly-git-repo/testsuite/integration/clustering/target/wildfly-SYNC-tcp-0/standalone/data/content/66/642dea2bc32c3ba888dd173db2b91d18b848b0/content
[0m[0m14:22:09,807 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0009: Undeployed "remote-failover-test.jar" (runtime-name: "remote-failover-test.jar")
{code}
Looking at the use of ControlPoints within EJBs, it seems that on undeployment, the EJBComponent.stop() method calls ControlPoint.pause() only which will cause the interceptor to block any future invocations but also not prevent the undeployment from continuing, despite the fact that a request is active.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (WFLY-4232) Update the modules structure for Hibernate Search to minimize exposed dependencies
by Sanne Grinovero (JIRA)
Sanne Grinovero created WFLY-4232:
-------------------------------------
Summary: Update the modules structure for Hibernate Search to minimize exposed dependencies
Key: WFLY-4232
URL: https://issues.jboss.org/browse/WFLY-4232
Project: WildFly
Issue Type: Enhancement
Components: JPA / Hibernate
Reporter: Sanne Grinovero
Assignee: Sanne Grinovero
Priority: Minor
In Hibernate Search 5 we fixed some classloading issues and highly improved the overall modules structure to avoid leaking any unrequested dependency and minimize classloader exposure to each sub-component as needed.
I expect this to also improve performance - for example - of Hibernate classpath scanning.
The modules built in WildFly for Hibernate Search still mimick the structure we had in Hibernate Search 4, we should improve this to get the same shape as the modules we build during a release of Hibernate Search 5.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (WFLY-3181) Hibernate Search w/ Infinispan - java.lang.Class cannot be cast to java.util.Map
by Sanne Grinovero (JIRA)
[ https://issues.jboss.org/browse/WFLY-3181?page=com.atlassian.jira.plugin.... ]
Sanne Grinovero edited comment on WFLY-3181 at 1/8/15 12:11 PM:
----------------------------------------------------------------
This is resolved by upgrading Infinispan. (Done as WFLY-4098 . Tracked in Infinispan as ISPN-4605 )
was (Author: sannegrinovero):
This is resolved by upgrading Infinispan. (Done as WFLY-4098)
> Hibernate Search w/ Infinispan - java.lang.Class cannot be cast to java.util.Map
> --------------------------------------------------------------------------------
>
> Key: WFLY-3181
> URL: https://issues.jboss.org/browse/WFLY-3181
> Project: WildFly
> Issue Type: Bug
> Components: JPA / Hibernate
> Affects Versions: 8.0.0.Final
> Environment: Wildfly 8.0, OS X 10.9.2
> Reporter: Akhbar Falafel
> Assignee: Sanne Grinovero
> Fix For: 9.0.0.Beta1
>
>
> When configuring Hibernate Search to use Infinispan as its directory provider, a java.lang.ClassCastException occurs upon deployment of an application making use of Hibernate Search.
> Relevant portion of standalone-full-ha.xml:
> {code:xml}
> <cache-container name="hibernateSearch" default-cache="LuceneIndexesData" jndi-name="java:jboss/infinispan/hibernateSearch" start="EAGER" statistics-enabled="true">
> <transport lock-timeout="60000"/>
> <replicated-cache name="LuceneIndexesMetadata" start="EAGER" statistics-enabled="true" mode="SYNC">
> <binary-keyed-jdbc-store shared="true" preload="true" passivation="false" purge="false" datasource="java:jboss/datasources/InfinispanDatasource">
> <binary-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATUM" type="BYTEA"/>
> </binary-keyed-table>
> </binary-keyed-jdbc-store>
> </replicated-cache>
> <replicated-cache name="LuceneIndexesData" start="EAGER" statistics-enabled="true" mode="SYNC">
> <binary-keyed-jdbc-store shared="true" preload="true" passivation="false" purge="false" datasource="java:jboss/datasources/InfinispanDatasource">
> <binary-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATUM" type="BYTEA"/>
> </binary-keyed-table>
> </binary-keyed-jdbc-store>
> </replicated-cache>
> <replicated-cache name="LuceneIndexesLocking" start="EAGER" statistics-enabled="true" mode="SYNC"/>
> </cache-container>
> {code}
> Relevant portion of persistence.xml:
> {code:xml}
> <!-- Hibernate Search properties - Infinispan -->
> <property name="hibernate.search.infinispan.cachemanager_jndiname"
> value="java:jboss/infinispan/hibernateSearch" />
> <property name="hibernate.search.default.directory_provider"
> value="infinispan" />
> <property name="hibernate.search.infinispan.chunk_size"
> value="300000000" />
> <property name="hibernate.search.reader.strategy" value="shared" />
> <property name="hibernate.search.worker.execution" value="sync" />
> <property name="hibernate.search.jmx_enabled" value="true" />
> <property name="hibernate.search.autoregister_listeners"
> value="true" />
> {code}
> Stack trace of Exception upon deployment:
> {noformat}
> 12:35:09,837 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 62) InfinispanDS: returnConnection(3ea8c21b, false) [1/20]
> 12:35:09,837 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 62) MSC000001: Failed to start service jboss.infinispan.hibernateSearch.LuceneIndexesData: org.jboss.msc.service.StartException in service jboss.infinispan.hibernateSearch.LuceneIndexesData: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:91) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> at org.infinispan.CacheImpl.start(CacheImpl.java:675)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:553)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:412)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:86) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> ... 4 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.util.Map
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unmarshallBucket(JdbcBinaryStore.java:577)
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.process(JdbcBinaryStore.java:190)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:214)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> ... 18 more
> 12:35:09,837 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 66) MSC000001: Failed to start service jboss.infinispan.hibernateSearch.LuceneIndexesMetadata: org.jboss.msc.service.StartException in service jboss.infinispan.hibernateSearch.LuceneIndexesMetadata: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:91) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> at org.infinispan.CacheImpl.start(CacheImpl.java:675)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:553)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:412)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:86) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> ... 4 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.util.Map
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unmarshallBucket(JdbcBinaryStore.java:577)
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.process(JdbcBinaryStore.java:190)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:214)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> ... 18 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (WFLY-3181) Hibernate Search w/ Infinispan - java.lang.Class cannot be cast to java.util.Map
by Sanne Grinovero (JIRA)
[ https://issues.jboss.org/browse/WFLY-3181?page=com.atlassian.jira.plugin.... ]
Sanne Grinovero resolved WFLY-3181.
-----------------------------------
Resolution: Done
This is resolved by upgrading Infinispan. (Done as WFLY-4098)
> Hibernate Search w/ Infinispan - java.lang.Class cannot be cast to java.util.Map
> --------------------------------------------------------------------------------
>
> Key: WFLY-3181
> URL: https://issues.jboss.org/browse/WFLY-3181
> Project: WildFly
> Issue Type: Bug
> Components: JPA / Hibernate
> Affects Versions: 8.0.0.Final
> Environment: Wildfly 8.0, OS X 10.9.2
> Reporter: Akhbar Falafel
> Assignee: Sanne Grinovero
> Fix For: 9.0.0.Beta1
>
>
> When configuring Hibernate Search to use Infinispan as its directory provider, a java.lang.ClassCastException occurs upon deployment of an application making use of Hibernate Search.
> Relevant portion of standalone-full-ha.xml:
> {code:xml}
> <cache-container name="hibernateSearch" default-cache="LuceneIndexesData" jndi-name="java:jboss/infinispan/hibernateSearch" start="EAGER" statistics-enabled="true">
> <transport lock-timeout="60000"/>
> <replicated-cache name="LuceneIndexesMetadata" start="EAGER" statistics-enabled="true" mode="SYNC">
> <binary-keyed-jdbc-store shared="true" preload="true" passivation="false" purge="false" datasource="java:jboss/datasources/InfinispanDatasource">
> <binary-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATUM" type="BYTEA"/>
> </binary-keyed-table>
> </binary-keyed-jdbc-store>
> </replicated-cache>
> <replicated-cache name="LuceneIndexesData" start="EAGER" statistics-enabled="true" mode="SYNC">
> <binary-keyed-jdbc-store shared="true" preload="true" passivation="false" purge="false" datasource="java:jboss/datasources/InfinispanDatasource">
> <binary-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATUM" type="BYTEA"/>
> </binary-keyed-table>
> </binary-keyed-jdbc-store>
> </replicated-cache>
> <replicated-cache name="LuceneIndexesLocking" start="EAGER" statistics-enabled="true" mode="SYNC"/>
> </cache-container>
> {code}
> Relevant portion of persistence.xml:
> {code:xml}
> <!-- Hibernate Search properties - Infinispan -->
> <property name="hibernate.search.infinispan.cachemanager_jndiname"
> value="java:jboss/infinispan/hibernateSearch" />
> <property name="hibernate.search.default.directory_provider"
> value="infinispan" />
> <property name="hibernate.search.infinispan.chunk_size"
> value="300000000" />
> <property name="hibernate.search.reader.strategy" value="shared" />
> <property name="hibernate.search.worker.execution" value="sync" />
> <property name="hibernate.search.jmx_enabled" value="true" />
> <property name="hibernate.search.autoregister_listeners"
> value="true" />
> {code}
> Stack trace of Exception upon deployment:
> {noformat}
> 12:35:09,837 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 62) InfinispanDS: returnConnection(3ea8c21b, false) [1/20]
> 12:35:09,837 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 62) MSC000001: Failed to start service jboss.infinispan.hibernateSearch.LuceneIndexesData: org.jboss.msc.service.StartException in service jboss.infinispan.hibernateSearch.LuceneIndexesData: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:91) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> at org.infinispan.CacheImpl.start(CacheImpl.java:675)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:553)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:412)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:86) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> ... 4 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.util.Map
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unmarshallBucket(JdbcBinaryStore.java:577)
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.process(JdbcBinaryStore.java:190)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:214)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> ... 18 more
> 12:35:09,837 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 66) MSC000001: Failed to start service jboss.infinispan.hibernateSearch.LuceneIndexesMetadata: org.jboss.msc.service.StartException in service jboss.infinispan.hibernateSearch.LuceneIndexesMetadata: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:91) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> at org.infinispan.CacheImpl.start(CacheImpl.java:675)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:553)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:412)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:86) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> ... 4 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.util.Map
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unmarshallBucket(JdbcBinaryStore.java:577)
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.process(JdbcBinaryStore.java:190)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:214)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> ... 18 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (WFLY-3181) Hibernate Search w/ Infinispan - java.lang.Class cannot be cast to java.util.Map
by Sanne Grinovero (JIRA)
[ https://issues.jboss.org/browse/WFLY-3181?page=com.atlassian.jira.plugin.... ]
Sanne Grinovero updated WFLY-3181:
----------------------------------
Fix Version/s: 9.0.0.Beta1
> Hibernate Search w/ Infinispan - java.lang.Class cannot be cast to java.util.Map
> --------------------------------------------------------------------------------
>
> Key: WFLY-3181
> URL: https://issues.jboss.org/browse/WFLY-3181
> Project: WildFly
> Issue Type: Bug
> Components: JPA / Hibernate
> Affects Versions: 8.0.0.Final
> Environment: Wildfly 8.0, OS X 10.9.2
> Reporter: Akhbar Falafel
> Assignee: Sanne Grinovero
> Fix For: 9.0.0.Beta1
>
>
> When configuring Hibernate Search to use Infinispan as its directory provider, a java.lang.ClassCastException occurs upon deployment of an application making use of Hibernate Search.
> Relevant portion of standalone-full-ha.xml:
> {code:xml}
> <cache-container name="hibernateSearch" default-cache="LuceneIndexesData" jndi-name="java:jboss/infinispan/hibernateSearch" start="EAGER" statistics-enabled="true">
> <transport lock-timeout="60000"/>
> <replicated-cache name="LuceneIndexesMetadata" start="EAGER" statistics-enabled="true" mode="SYNC">
> <binary-keyed-jdbc-store shared="true" preload="true" passivation="false" purge="false" datasource="java:jboss/datasources/InfinispanDatasource">
> <binary-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATUM" type="BYTEA"/>
> </binary-keyed-table>
> </binary-keyed-jdbc-store>
> </replicated-cache>
> <replicated-cache name="LuceneIndexesData" start="EAGER" statistics-enabled="true" mode="SYNC">
> <binary-keyed-jdbc-store shared="true" preload="true" passivation="false" purge="false" datasource="java:jboss/datasources/InfinispanDatasource">
> <binary-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATUM" type="BYTEA"/>
> </binary-keyed-table>
> </binary-keyed-jdbc-store>
> </replicated-cache>
> <replicated-cache name="LuceneIndexesLocking" start="EAGER" statistics-enabled="true" mode="SYNC"/>
> </cache-container>
> {code}
> Relevant portion of persistence.xml:
> {code:xml}
> <!-- Hibernate Search properties - Infinispan -->
> <property name="hibernate.search.infinispan.cachemanager_jndiname"
> value="java:jboss/infinispan/hibernateSearch" />
> <property name="hibernate.search.default.directory_provider"
> value="infinispan" />
> <property name="hibernate.search.infinispan.chunk_size"
> value="300000000" />
> <property name="hibernate.search.reader.strategy" value="shared" />
> <property name="hibernate.search.worker.execution" value="sync" />
> <property name="hibernate.search.jmx_enabled" value="true" />
> <property name="hibernate.search.autoregister_listeners"
> value="true" />
> {code}
> Stack trace of Exception upon deployment:
> {noformat}
> 12:35:09,837 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 62) InfinispanDS: returnConnection(3ea8c21b, false) [1/20]
> 12:35:09,837 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 62) MSC000001: Failed to start service jboss.infinispan.hibernateSearch.LuceneIndexesData: org.jboss.msc.service.StartException in service jboss.infinispan.hibernateSearch.LuceneIndexesData: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:91) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> at org.infinispan.CacheImpl.start(CacheImpl.java:675)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:553)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:412)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:86) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> ... 4 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.util.Map
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unmarshallBucket(JdbcBinaryStore.java:577)
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.process(JdbcBinaryStore.java:190)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:214)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> ... 18 more
> 12:35:09,837 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 66) MSC000001: Failed to start service jboss.infinispan.hibernateSearch.LuceneIndexesMetadata: org.jboss.msc.service.StartException in service jboss.infinispan.hibernateSearch.LuceneIndexesMetadata: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:91) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.preload() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> at org.infinispan.CacheImpl.start(CacheImpl.java:675)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:553)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:516)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:398)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:412)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:86) [wildfly-clustering-common-8.0.0.Final.jar:8.0.0.Final]
> ... 4 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.util.Map
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unmarshallBucket(JdbcBinaryStore.java:577)
> at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.process(JdbcBinaryStore.java:190)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:214)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> ... 18 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months