optimistic locking :: Flag.FORCE_WRITE_LOCK
by Mircea Markus
Hi,
In default mode, when:
advancedCache.withFlags(Flag.FORCE_WRITE_LOCK).get("k")
gets executed a W lock is acquired on "k". With the new optimistic locking model we only acquire a locks at prepare time, so the semantic of the above call might need to change.
What I have in mind is to force the W lock acquisition to happen but only at prepare time - how does that sound?
Cheers,
Mircea
13 years, 4 months
AS7 infinispan subsystem configurations for JDBC, Remote and Cloud cache stores
by Galder Zamarreño
Hey Paul,
As shown by Martin in https://issues.jboss.org/browse/JBPAPP-6718 , it's clear that the AS7 Infinispan subsystem is not yet ready to read configurations for stores other than the FileCacheStore, so I'd assume we'd need to create a new JIRA on AS7 to deal with configuration of:
- JDBCCacheStore
- RemoteCacheStore
- CloudCacheStore
Looking at what you've done for the FCS, you seem to enable different type of configs, i.e.
<file-store fetch-state="false" passivation="false" path="path" preload="true" purge="false" relative-to="jboss.server.temp.dir" shared="true" singleton="true"/>
vs
<store class="org.infinispan.loaders.file.FileCacheStore" fetch-state="true" passivation="true" preload="false" purge="true" shared="false" singleton="false">
<property name="location">${java.io.tmpdir}</property>
</store>
I suspect the idea is to lean towards more strictly typed configurations as shown in 1st example?
Also, doing this would probably mean that these cache store jars and their dependencies make it to AS7, right?
Did you have any other plans for this? Or maybe you have other jiras already for this?
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
13 years, 4 months
Reading data differs from a WAR deployment or an EAR deployment
by Sanne Grinovero
Hi all,
please have a look into http://community.jboss.org/thread/171521?tstart=0
while the title and environment point to Hibernate Search, the trouble
is not related to Search but to Infinispan core; in short it seems
that it all works fine when using an application deployed in a WAR,
but when using EJBs instead the index is not updated; in fact it seems
the index is updated (correctly written to) but the clients don't see
the updates and are stuck as if a very long REPEATABLE_READ.
You might recall from past discussions that the Lucene Directory
- requires batching
- thou shall not configure a TransactionManager on the caches used by
the Lucene Directory
or if you do, the transaction scope should be left to Lucene, not
having it join a containing transaction scope
So I didn't have time to try reproducing this issue yet, and likely
won't for a week at least, but is it possible that the batching layer
- which we know is calling into the DummyTransactionManager - is
actually connecting my batch to the real TransactionManager ?
Other possible explanations?
Regards,
Sanne
13 years, 4 months
tccl usage in listeners
by Ales Justin
While working on OpenShift Flex Infinispan demo, we came across a TCCL setup issue.
---
Looking at the stack trace, and how listener is registered,
I don't see how Ispan+CDI integration can change this behavior:
Imo, it should be Ispan's job to properly change this.
e.g. wrap each listener invocation with listener' classloader as tccl
---
as imo it's not cdi integration's job
as it cannot change this
at least i don't see how
and same issue can happen for any other framework
where listener gets invoked, and that framework used later in the execution chain, depends on the right tccl
this issue only popped up due to cluster formation
as the other node's code is invoked via Ispan' distribution mechanism
1:48
in standalone you would always get this invoked via app' execution chain
---
12:01:24,243 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (Incoming-9,demo,matej-ntb-32416) ISPN000136: Execution error: org.infinispan.CacheException: Caught exception [java.
lang.IllegalStateException] while invoking method [public void org.infinispan.quickstart.jbossas7.LoggingListener.observeAdd(org.infinispan.notifications.cachelistener.event.CacheEntryCreatedEven
t)] on listener instance: org.infinispan.quickstart.jbossas7.LoggingListener@301f417
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:204) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:48) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:217) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryCreated(CacheNotifierImpl.java:151) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.container.EntryFactoryImpl.wrapEntryForWriting(EntryFactoryImpl.java:174) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.container.EntryFactoryImpl.wrapEntryForWriting(EntryFactoryImpl.java:109) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.LockingInterceptor.visitPutKeyValueCommand(LockingInterceptor.java:293) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.MarshalledValueInterceptor.visitPutKeyValueCommand(MarshalledValueInterceptor.java:140) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:214) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:162) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.DistTxInterceptor.visitPutKeyValueCommand(DistTxInterceptor.java:129) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:114) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:104) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:64) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.IsMarshallableInterceptor.visitPutKeyValueCommand(IsMarshallableInterceptor.java:94) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:61) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:274) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommand(BaseRpcInvokingCommand.java:71) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.commands.remote.SingleRpcCommand.perform(SingleRpcCommand.java:62) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:181) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.remoting.InboundInvocationHandlerImpl.handleWithWaitForBlocks(InboundInvocationHandlerImpl.java:195) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.remoting.InboundInvocationHandlerImpl.handleWithRetry(InboundInvocationHandlerImpl.java:309) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:167) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:165) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:144) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:577) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:488) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:364) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:770) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.JChannel.up(JChannel.java:1484) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1074) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:477) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:263) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.FRAG2.up(FRAG2.java:189) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.FlowControl.up(FlowControl.java:400) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.FlowControl.up(FlowControl.java:418) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:908) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:170) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:246) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.UNICAST.up(UNICAST.java:309) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:838) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:667) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.BARRIER.up(BARRIER.java:123) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:133) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.FD.up(FD.java:275) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:275) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.MERGE2.up(MERGE2.java:209) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.Discovery.up(Discovery.java:293) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.PING.up(PING.java:69) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.TP.passMessageUp(TP.java:1109) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1665) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1647) [jgroups-2.12.1.3.Final.jar:2.12.1.3.Final]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_23]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_23]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
Caused by: java.lang.IllegalStateException: Singleton not set for ModuleClassLoader for Module "org.jboss.as.clustering.infinispan:main" from local module loader @624b035d (roots: D:\java\runtime
s\jboss-as-7.1.0.Alpha1-SNAPSHOT-B\modules)
at org.jboss.as.weld.services.ModuleGroupSingletonProvider$TCCLSingleton.get(ModuleGroupSingletonProvider.java:71)
at org.jboss.weld.Container.instance(Container.java:58)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:72)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87)
at org.infinispan.quickstart.jbossas7.CacheEventsManager$Proxy$_$$_WeldClientProxy.addEvent(CacheEventsManager$Proxy$_$$_WeldClientProxy.java)
at org.infinispan.quickstart.jbossas7.LoggingListener.observeAdd(LoggingListener.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:200) [infinispan-core-5.0.0.FINAL.jar:5.0.0.FINAL]
13 years, 4 months
Infinispan docs
by Pete Muir
Quick reminder to everyone - at the moment our docs have *not* been copied out for 5.0.0 - I am waiting on assistance from the JBoss.org team to do this. So until I give the word, please don't make changes incompatible to 5.0.0 to the docs!
13 years, 4 months