[JBoss JIRA] (ISPN-5457) Infinispan with Wildfly 8.2 random fails using customized key2StringMapper
by Flemming Harms (JIRA)
[ https://issues.jboss.org/browse/ISPN-5457?page=com.atlassian.jira.plugin.... ]
Flemming Harms updated ISPN-5457:
---------------------------------
Summary: Infinispan with Wildfly 8.2 random fails using customized key2StringMapper (was: Infinispan with Wildfly 8.2 random fails using key2StringMapper)
> Infinispan with Wildfly 8.2 random fails using customized key2StringMapper
> --------------------------------------------------------------------------
>
> Key: ISPN-5457
> URL: https://issues.jboss.org/browse/ISPN-5457
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 6.0.2.Final
> Environment: OSX Yosemite, Wildfly 8.2
> Reporter: Flemming Harms
>
> Using JDBC string based store feature in combination with customize key2string mapper fails random with the error below. I track it down to be an issue in XmlConfigHelper when it call the “setValues” and iterate through the method names. The problem is if you have a class that overload methods, like it is with “JdbcStringBasedStoreConfigurationBuilder key2StringMapper(....)”, there is no guarantee it will choose the “key2StringMapper(String key2StringMapper)”
> *code snippets :*
> {noformat}
> for (Method m : objectClass.getMethods()) {
> if (setter.equals(m.getName()) || fluentSetter.equals(m.getName())) {
> Class<?> paramTypes[] = m.getParameterTypes();
> if (paramTypes.length != 1) {
> log.tracef("Rejecting setter %s on class %s due to incorrect number of parameters", m, objectClass);
> continue; // try another param with the same name.
> }
> Class<?> parameterType = paramTypes[0];
>
> PropertyEditor editor = PropertyEditorManager.findEditor(parameterType);
> if (editor == null) {
> throw new CacheConfigurationException("Couldn't find a property editor for parameter type " + parameterType);
> }
> editor.setAsText((String) attribs.get(propName));
> …
> }
> {noformat}
> *Suggested patch :*
> {noformat}
> diff --git a/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java b/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java
> index 5305e82..377f315 100644
> --- a/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java
> +++ b/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java
> @@ -425,6 +425,11 @@ public static void setValues(Object target, Map<?, ?> attribs, boolean isXmlAttr
> }
>
> Class<?> parameterType = paramTypes[0];
> +
> + if (parameterType.equals(Class.class)) {
> + log.tracef("Rejecting setter %s on class %s due to class parameter is type class", m, objectClass);
> + continue; // try another param with the same name.
> + }
> PropertyEditor editor = PropertyEditorManager.findEditor(parameterType);
> if (editor == null) {
> throw new CacheConfigurationException("Couldn't find a property editor for parameter type " + parameterType);
> {noformat}
> *Configuration wildfly 8.2 standanlone.xml snippets :*
> {noformat}
> <replicated-cache name="LuceneIndexesData" start="EAGER" mode="SYNC" remote-timeout="25000">
> <locking isolation="READ_COMMITTED" striping="false" acquire-timeout="330000" concurrency-level="500"/>
> <transaction mode="NONE"/>
> <eviction strategy="NONE" max-entries="-1"/>
> <expiration max-idle="-1"/>
> <state-transfer enabled="true" timeout="480000"/>
> <string-keyed-jdbc-store preload="true" passivation="false" fetch-state="true" singleton="true" datasource="java:jboss/datasources/PostgresDS" dialect="POSTGRES">
> <write-behind/>
> <property name="key2StringMapper">
> org.infinispan.lucene.LuceneKey2StringMapper
> </property>
> <string-keyed-table>
> <id-column name="ID_COLUMN" type="VARCHAR(255)"/>
> <data-column name="DATA_COLUMN" type="bytea"/>
> <timestamp-column name="TIMESTAMP_COLUMN" type="BIGINT"/>
> </string-keyed-table>
> </string-keyed-jdbc-store>
> <indexing index="NONE"/>
> </replicated-cache>
> {noformat}
> *Stacktrace :*
> {noformat}
> 18:32:55,218 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 36) JBAS014612: Operation ("add") failed - address: ([
> ("subsystem" => "infinispan"),
> ("cache-container" => "hibernate-search"),
> ("replicated-cache" => "LuceneIndexesMetadata")
> ]): org.infinispan.commons.CacheConfigurationException: Couldn't find a property editor for parameter type class java.lang.Class
> at org.infinispan.configuration.parsing.XmlConfigHelper.setValues(XmlConfigHelper.java:430)
> at org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder.withProperties(AbstractStoreConfigurationBuilder.java:91)
> at org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder.withProperties(AbstractStoreConfigurationBuilder.java:9)
> at org.jboss.as.clustering.infinispan.subsystem.CacheAdd.processModelNode(CacheAdd.java:551)
> at org.jboss.as.clustering.infinispan.subsystem.ClusteredCacheAdd.processModelNode(ClusteredCacheAdd.java:69)
> at org.jboss.as.clustering.infinispan.subsystem.SharedStateCacheAdd.processModelNode(SharedStateCacheAdd.java:50)
> at org.jboss.as.clustering.infinispan.subsystem.CacheAdd.installRuntimeServices(CacheAdd.java:207)
> at org.jboss.as.clustering.infinispan.subsystem.CacheAdd.performRuntime(CacheAdd.java:181)
> at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:75)
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:660)
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:501)
> at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:298)
> at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:293)
> at org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandler.java:354)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (ISPN-5457) Infinispan with Wildfly 8.2 random fails using key2StringMapper
by Flemming Harms (JIRA)
Flemming Harms created ISPN-5457:
------------------------------------
Summary: Infinispan with Wildfly 8.2 random fails using key2StringMapper
Key: ISPN-5457
URL: https://issues.jboss.org/browse/ISPN-5457
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 6.0.2.Final
Environment: OSX Yosemite, Wildfly 8.2
Reporter: Flemming Harms
Using JDBC string based store feature in combination with customize key2string mapper fails random with the error below. I track it down to be an issue in XmlConfigHelper when it call the “setValues” and iterate through the method names. The problem is if you have a class that overload methods, like it is with “JdbcStringBasedStoreConfigurationBuilder key2StringMapper(....)”, there is no guarantee it will choose the “key2StringMapper(String key2StringMapper)”
*code snippets :*
{noformat}
for (Method m : objectClass.getMethods()) {
if (setter.equals(m.getName()) || fluentSetter.equals(m.getName())) {
Class<?> paramTypes[] = m.getParameterTypes();
if (paramTypes.length != 1) {
log.tracef("Rejecting setter %s on class %s due to incorrect number of parameters", m, objectClass);
continue; // try another param with the same name.
}
Class<?> parameterType = paramTypes[0];
PropertyEditor editor = PropertyEditorManager.findEditor(parameterType);
if (editor == null) {
throw new CacheConfigurationException("Couldn't find a property editor for parameter type " + parameterType);
}
editor.setAsText((String) attribs.get(propName));
…
}
{noformat}
*Suggested patch :*
{noformat}
diff --git a/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java b/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java
index 5305e82..377f315 100644
--- a/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java
+++ b/core/src/main/java/org/infinispan/configuration/parsing/XmlConfigHelper.java
@@ -425,6 +425,11 @@ public static void setValues(Object target, Map<?, ?> attribs, boolean isXmlAttr
}
Class<?> parameterType = paramTypes[0];
+
+ if (parameterType.equals(Class.class)) {
+ log.tracef("Rejecting setter %s on class %s due to class parameter is type class", m, objectClass);
+ continue; // try another param with the same name.
+ }
PropertyEditor editor = PropertyEditorManager.findEditor(parameterType);
if (editor == null) {
throw new CacheConfigurationException("Couldn't find a property editor for parameter type " + parameterType);
{noformat}
*Configuration wildfly 8.2 standanlone.xml snippets :*
{noformat}
<replicated-cache name="LuceneIndexesData" start="EAGER" mode="SYNC" remote-timeout="25000">
<locking isolation="READ_COMMITTED" striping="false" acquire-timeout="330000" concurrency-level="500"/>
<transaction mode="NONE"/>
<eviction strategy="NONE" max-entries="-1"/>
<expiration max-idle="-1"/>
<state-transfer enabled="true" timeout="480000"/>
<string-keyed-jdbc-store preload="true" passivation="false" fetch-state="true" singleton="true" datasource="java:jboss/datasources/PostgresDS" dialect="POSTGRES">
<write-behind/>
<property name="key2StringMapper">
org.infinispan.lucene.LuceneKey2StringMapper
</property>
<string-keyed-table>
<id-column name="ID_COLUMN" type="VARCHAR(255)"/>
<data-column name="DATA_COLUMN" type="bytea"/>
<timestamp-column name="TIMESTAMP_COLUMN" type="BIGINT"/>
</string-keyed-table>
</string-keyed-jdbc-store>
<indexing index="NONE"/>
</replicated-cache>
{noformat}
*Stacktrace :*
{noformat}
18:32:55,218 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 36) JBAS014612: Operation ("add") failed - address: ([
("subsystem" => "infinispan"),
("cache-container" => "hibernate-search"),
("replicated-cache" => "LuceneIndexesMetadata")
]): org.infinispan.commons.CacheConfigurationException: Couldn't find a property editor for parameter type class java.lang.Class
at org.infinispan.configuration.parsing.XmlConfigHelper.setValues(XmlConfigHelper.java:430)
at org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder.withProperties(AbstractStoreConfigurationBuilder.java:91)
at org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder.withProperties(AbstractStoreConfigurationBuilder.java:9)
at org.jboss.as.clustering.infinispan.subsystem.CacheAdd.processModelNode(CacheAdd.java:551)
at org.jboss.as.clustering.infinispan.subsystem.ClusteredCacheAdd.processModelNode(ClusteredCacheAdd.java:69)
at org.jboss.as.clustering.infinispan.subsystem.SharedStateCacheAdd.processModelNode(SharedStateCacheAdd.java:50)
at org.jboss.as.clustering.infinispan.subsystem.CacheAdd.installRuntimeServices(CacheAdd.java:207)
at org.jboss.as.clustering.infinispan.subsystem.CacheAdd.performRuntime(CacheAdd.java:181)
at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:75)
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:660)
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:501)
at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:298)
at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:293)
at org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandler.java:354)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (ISPN-5443) NPE in ReadCommittedEntry.getLifespan() during Cache.size()
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5443?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5443:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1219573|https://bugzilla.redhat.com/show_bug.cgi?id=1219573] from POST to MODIFIED
> NPE in ReadCommittedEntry.getLifespan() during Cache.size()
> -----------------------------------------------------------
>
> Key: ISPN-5443
> URL: https://issues.jboss.org/browse/ISPN-5443
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.0.Final
> Reporter: Paul Ferraro
> Assignee: William Burns
> Priority: Blocker
> Fix For: 7.2.1.Final, 8.0.0.Alpha1
>
>
> Infinispan 7.2.0 causes one of our 2LC cache tests to fail consistently. An entity is removed from the 2LC followed by printing of cache statistics, all within the context of a transaction. Here is the exception.
> {noformat}
> ERROR [org.jboss.as.ejb3.invocation] (default task-23) WFLYEJB0034: EJB Invocation failed on component StatefulBean for method public abstract void org.jboss.as.test.clustering.cluster.ejb.xpc.bean.Stateful.deleteEmployee(int): javax.ejb.EJBException: java.lang.NullPointerException
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:187)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:634)
> at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
> at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:195)
> at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
> at org.jboss.as.test.clustering.cluster.ejb.xpc.bean.Stateful$$$view3.deleteEmployee(Unknown Source)
> at org.jboss.as.test.clustering.cluster.ejb.xpc.servlet.StatefulServlet.doGet(StatefulServlet.java:155)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
> at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
> at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
> at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:274)
> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:253)
> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
> 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:745)
> Caused by: java.lang.NullPointerException
> at org.infinispan.container.entries.ReadCommittedEntry.getLifespan(ReadCommittedEntry.java:99)
> at org.infinispan.container.InternalEntryFactoryImpl.create(InternalEntryFactoryImpl.java:53)
> at org.infinispan.iteration.impl.TransactionAwareCloseableIterator.getNextFromIterator(TransactionAwareCloseableIterator.java:119)
> at org.infinispan.iteration.impl.TransactionAwareCloseableIterator.<init>(TransactionAwareCloseableIterator.java:54)
> at org.infinispan.iteration.impl.TransactionAwareCloseableIterable.iterator(TransactionAwareCloseableIterable.java:44)
> at org.infinispan.iteration.impl.TransactionAwareCloseableIterable.iterator(TransactionAwareCloseableIterable.java:19)
> at org.infinispan.commands.read.SizeCommand.perform(SizeCommand.java:47)
> at org.infinispan.commands.read.SizeCommand.perform(SizeCommand.java:25)
> at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:124)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:346)
> at org.infinispan.interceptors.TxInterceptor.visitSizeCommand(TxInterceptor.java:293)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)
> at org.infinispan.commands.AbstractVisitor.visitSizeCommand(AbstractVisitor.java:81)
> at org.infinispan.commands.read.SizeCommand.acceptVisitor(SizeCommand.java:35)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
> at org.infinispan.cache.impl.CacheImpl.size(CacheImpl.java:374)
> at org.infinispan.cache.impl.CacheImpl.size(CacheImpl.java:369)
> at org.infinispan.cache.impl.AbstractDelegatingCache.size(AbstractDelegatingCache.java:267)
> at org.hibernate.cache.infinispan.impl.BaseRegion.getElementCountInMemory(BaseRegion.java:100)
> at org.hibernate.stat.internal.ConcurrentSecondLevelCacheStatisticsImpl.getElementCountInMemory(ConcurrentSecondLevelCacheStatisticsImpl.java:64)
> at org.hibernate.stat.internal.ConcurrentSecondLevelCacheStatisticsImpl.toString(ConcurrentSecondLevelCacheStatisticsImpl.java:93)
> at org.jboss.as.test.clustering.cluster.ejb.xpc.bean.StatefulBean.logStats(StatefulBean.java:172)
> at org.jboss.as.test.clustering.cluster.ejb.xpc.bean.StatefulBean.deleteEmployee(StatefulBean.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
> at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)
> at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
> at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:127)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
> at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)
> at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:65)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
> ... 63 more
> {noformat}
> Now I know that hibernate-infinispan should not be using a cluster-wide size() operation here (see https://hibernate.atlassian.net/browse/HHH-9776), but there is still an urgent issue here that need to be addressed.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (ISPN-2183) Add the ability to fetch a set of keys at once (getAll)
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-2183?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-2183:
-----------------------------------------------
Vojtech Juranek <vjuranek(a)redhat.com> changed the Status of [bug 1198556|https://bugzilla.redhat.com/show_bug.cgi?id=1198556] from ON_QA to VERIFIED
> Add the ability to fetch a set of keys at once (getAll)
> -------------------------------------------------------
>
> Key: ISPN-2183
> URL: https://issues.jboss.org/browse/ISPN-2183
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Reporter: Mircea Markus
> Assignee: William Burns
> Priority: Minor
> Fix For: 7.2.0.CR1
>
>
> When a transaction knows in advance about the set of keys it needs to read, this cache.getAll(k1,k2,..kn) method can bring a some performance improvement:
> 1. all the keys can be fetched from remote nodes in parallel
> 2. keys that map to the same node can be grouped and fetched in the same RPC request
>
> Note that 1. can be be achieved even at this time by using Cache.getAsync(K) method - that's not as elegant though as it requires the user to write the code the code that waits on the Future objects that are returned.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (ISPN-5449) HotRod ISPN000136: Execution error java.lang.ClassCastException: [B cannot be cast to org.infinispan.container.entries.CacheEntry - See more at: https://developer.jboss.org/thread/257699#sthash.ibv3Nflq.dpuf
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-5449?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño reassigned ISPN-5449:
--------------------------------------
Assignee: Galder Zamarreño
> HotRod ISPN000136: Execution error java.lang.ClassCastException: [B cannot be cast to org.infinispan.container.entries.CacheEntry - See more at: https://developer.jboss.org/thread/257699#sthash.ibv3Nflq.dpuf
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-5449
> URL: https://issues.jboss.org/browse/ISPN-5449
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 7.2.1.Final
> Reporter: Enrico Olivelli
> Assignee: Galder Zamarreño
> Fix For: 7.2.2.Final
>
>
> Hi,
> I'm going to upgrade to Infinspan 7.2.1final but I got into a showstopper. This error occours very frequently and the cluster becomes not usable.
>
> In dev enviroment I'm using only Java HotRod clients and 3 Java HotRod Servers. When I put a "byte[]" in a cache then the following error occurs.
> Using only one Hotrod server the error does not occur.
>
>
> ERROR interceptors.InvocationContextInterceptor: ISPN000136: Execution error
> java.lang.ClassCastException: [B cannot be cast to org.infinispan.container.entries.CacheEntry
> at org.infinispan.interceptors.compat.BaseTypeConverterInterceptor.visitGetCacheEntryCommand(BaseTypeConverterInterceptor.java:118)
> at org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)
> at org.infinispan.commands.AbstractVisitor.visitGetCacheEntryCommand(AbstractVisitor.java:91)
> at org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
> at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:437)
> at org.infinispan.cache.impl.DecoratedCache.getCacheEntry(DecoratedCache.java:547)
> at org.infinispan.server.hotrod.CacheDecodeContext.get(CacheDecodeContext.scala:180)
> at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeKey(HotRodDecoder.scala:103)
> at org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:48)
> at org.infinispan.server.hotrod.HotRodDecoder$$anon$1.run(HotRodDecoder.scala:206)
> at org.infinispan.server.hotrod.HotRodDecoder$$anon$1.run(HotRodDecoder.scala:205)
> at org.infinispan.security.Security.doAs(Security.java:143)
> at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:205)
> at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:45)
> at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:370)
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
> at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:31)
> at org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32)
> at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:31)
> ....
>
>
> Cache Server configuration:
> Configuration wildcard = new ConfigurationBuilder()
> .locking().lockAcquisitionTimeout(lockAcquisitionTimeout)
> .concurrencyLevel(10000).isolationLevel(IsolationLevel.READ_COMMITTED).useLockStriping(true)
> .clustering()
> .cacheMode(CacheMode.DIST_SYNC)
> .l1().lifespan(l1ttl).enable()
> .hash().numOwners(numOwners).capacityFactor(capacityFactor)
> .partitionHandling().enabled(false)
> .stateTransfer().awaitInitialTransfer(false).timeout(initialTransferTimeout).fetchInMemoryState(false)
> .storeAsBinary().enabled(true).storeKeysAsBinary(false).storeValuesAsBinary(false)
> .jmxStatistics().enable()
> .unsafe().unreliableReturnValues(true) // put e remove non ritornano il valore precedente, tanto a noi non interessa
> .compatibility().enable()
> .build();
>
> Hotrod Endpoint:
> HotRodServerConfigurationBuilder configBuilder = new HotRodServerConfigurationBuilder()
> .host(address)
> .port(port);
> hotrodserver.start(configBuilder
> .build(),
> manager);
>
> Client side config:
> org.infinispan.client.hotrod.configuration.ConfigurationBuilder clientBuilder = new org.infinispan.client.hotrod.configuration.ConfigurationBuilder().forceReturnValues(false);
> clientBuilder.nearCache().mode(NearCacheMode.LAZY).maxEntries(10000);
> (for each server....)
> clientBuilder.addServer().host(serveraddress).port(serverport);
> RemoteCacheManager remoteCacheManager = new RemoteCacheManager(clientBuilder.build());
> - See more at: https://developer.jboss.org/thread/257699#sthash.ibv3Nflq.dpuf
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months