[JBoss JIRA] (DROOLS-776) Deadlock trying to synchronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread)
by Juan Carlos Garcia (JIRA)
[ https://issues.jboss.org/browse/DROOLS-776?page=com.atlassian.jira.plugin... ]
Juan Carlos Garcia updated DROOLS-776:
--------------------------------------
Description:
Migrating from drools 6.0.1.Final to 6.2.0.Final there seems to be a rare deadlock trying to synchronize the DefaultAgenda *eager* field, i have seen it only 2 or three times now as it seems very dificult to reproduce.
In our scenario the test is calling *kSession.fireUntilHalt()* in a new thread, then in the main thread waiting for some events to happens (by calling in a loop: kSession.getObjects(new ClassObjectFilter(_clazz)))) and then doing some other assert checks.
See the stacktrace i took with jstack:
{code}
Java stack information for the threads listed above:
===================================================
"Thread-5":
at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:92)
- waiting to lock <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:1044)
- locked <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:996)
at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1258)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1333)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1310)
at bar.foo.AIDelayTest$1.run(AIDelayTest.java:101)
at java.lang.Thread.run(Thread.java:745)
"drools-worker-2":
at org.drools.core.common.DefaultAgenda.addEagerRuleAgendaItem(DefaultAgenda.java:287)
- waiting to lock <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
at org.drools.core.reteoo.PathMemory.queueRuleAgendaItem(PathMemory.java:159)
at org.drools.core.reteoo.PathMemory.doUnlinkRule(PathMemory.java:133)
- locked <0x00000000ff2457a0> (a org.drools.core.reteoo.PathMemory)
at org.drools.core.reteoo.PathMemory.unlinkedSegment(PathMemory.java:173)
at org.drools.core.reteoo.SegmentMemory.unlinkNode(SegmentMemory.java:203)
at org.drools.core.reteoo.BetaMemory.unlinkNode(BetaMemory.java:100)
at org.drools.core.reteoo.BetaNode.doDeleteRightTuple(BetaNode.java:377)
at org.drools.core.reteoo.JoinNode.retractRightTuple(JoinNode.java:107)
at org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:345)
at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:337)
at org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:381)
at org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:615)
at org.drools.core.base.DefaultKnowledgeHelper.delete(DefaultKnowledgeHelper.java:495)
at org.drools.core.base.DefaultKnowledgeHelper.retract(DefaultKnowledgeHelper.java:486)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731.defaultConsequence(Rule_basic$u46$delayExecution$u46$01246876731.java:7)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvoker.evaluate(Unknown Source)
at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114)
- locked <0x00000000ff3da978> (a org.drools.core.common.DefaultAgenda)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:160)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:112)
- locked <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
at org.drools.core.phreak.PhreakTimerNode$Executor.qevauateAndFireRule(PhreakTimerNode.java:485)
at org.drools.core.phreak.PhreakTimerNode$TimerNodeJob$1.run(PhreakTimerNode.java:420)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Found 1 deadlock.
{code}
was:
Migrating from drools 6.0.1.Final to 6.2.0.Final there seems to be a rare deadlock trying to syncronized the DefaultAgenda *eager* field, i have seen it only 2 or three times now as it seems very dificult to reproduce.
In our scenario the test is calling *kSession.fireUntilHalt()* in a new thread, then in the main thread waiting for some events to happens (by calling in a loop: kSession.getObjects(new ClassObjectFilter(_clazz)))) and then doing some other assert checks.
See the stacktrace below i took with jstack:
{code}
Java stack information for the threads listed above:
===================================================
"Thread-5":
at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:92)
- waiting to lock <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:1044)
- locked <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:996)
at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1258)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1333)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1310)
at bar.foo.AIDelayTest$1.run(AIDelayTest.java:101)
at java.lang.Thread.run(Thread.java:745)
"drools-worker-2":
at org.drools.core.common.DefaultAgenda.addEagerRuleAgendaItem(DefaultAgenda.java:287)
- waiting to lock <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
at org.drools.core.reteoo.PathMemory.queueRuleAgendaItem(PathMemory.java:159)
at org.drools.core.reteoo.PathMemory.doUnlinkRule(PathMemory.java:133)
- locked <0x00000000ff2457a0> (a org.drools.core.reteoo.PathMemory)
at org.drools.core.reteoo.PathMemory.unlinkedSegment(PathMemory.java:173)
at org.drools.core.reteoo.SegmentMemory.unlinkNode(SegmentMemory.java:203)
at org.drools.core.reteoo.BetaMemory.unlinkNode(BetaMemory.java:100)
at org.drools.core.reteoo.BetaNode.doDeleteRightTuple(BetaNode.java:377)
at org.drools.core.reteoo.JoinNode.retractRightTuple(JoinNode.java:107)
at org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:345)
at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:337)
at org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:381)
at org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:615)
at org.drools.core.base.DefaultKnowledgeHelper.delete(DefaultKnowledgeHelper.java:495)
at org.drools.core.base.DefaultKnowledgeHelper.retract(DefaultKnowledgeHelper.java:486)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731.defaultConsequence(Rule_basic$u46$delayExecution$u46$01246876731.java:7)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvoker.evaluate(Unknown Source)
at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114)
- locked <0x00000000ff3da978> (a org.drools.core.common.DefaultAgenda)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:160)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:112)
- locked <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
at org.drools.core.phreak.PhreakTimerNode$Executor.qevauateAndFireRule(PhreakTimerNode.java:485)
at org.drools.core.phreak.PhreakTimerNode$TimerNodeJob$1.run(PhreakTimerNode.java:420)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Found 1 deadlock.
{code}
> Deadlock trying to synchronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread)
> ---------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-776
> URL: https://issues.jboss.org/browse/DROOLS-776
> Project: Drools
> Issue Type: Feature Request
> Affects Versions: 6.2.0.Final
> Reporter: Juan Carlos Garcia
> Assignee: Mark Proctor
>
> Migrating from drools 6.0.1.Final to 6.2.0.Final there seems to be a rare deadlock trying to synchronize the DefaultAgenda *eager* field, i have seen it only 2 or three times now as it seems very dificult to reproduce.
> In our scenario the test is calling *kSession.fireUntilHalt()* in a new thread, then in the main thread waiting for some events to happens (by calling in a loop: kSession.getObjects(new ClassObjectFilter(_clazz)))) and then doing some other assert checks.
> See the stacktrace i took with jstack:
> {code}
> Java stack information for the threads listed above:
> ===================================================
> "Thread-5":
> at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:92)
> - waiting to lock <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
> at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:1044)
> - locked <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
> at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:996)
> at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1258)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1333)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1310)
> at bar.foo.AIDelayTest$1.run(AIDelayTest.java:101)
> at java.lang.Thread.run(Thread.java:745)
> "drools-worker-2":
> at org.drools.core.common.DefaultAgenda.addEagerRuleAgendaItem(DefaultAgenda.java:287)
> - waiting to lock <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
> at org.drools.core.reteoo.PathMemory.queueRuleAgendaItem(PathMemory.java:159)
> at org.drools.core.reteoo.PathMemory.doUnlinkRule(PathMemory.java:133)
> - locked <0x00000000ff2457a0> (a org.drools.core.reteoo.PathMemory)
> at org.drools.core.reteoo.PathMemory.unlinkedSegment(PathMemory.java:173)
> at org.drools.core.reteoo.SegmentMemory.unlinkNode(SegmentMemory.java:203)
> at org.drools.core.reteoo.BetaMemory.unlinkNode(BetaMemory.java:100)
> at org.drools.core.reteoo.BetaNode.doDeleteRightTuple(BetaNode.java:377)
> at org.drools.core.reteoo.JoinNode.retractRightTuple(JoinNode.java:107)
> at org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:345)
> at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:337)
> at org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:381)
> at org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:615)
> at org.drools.core.base.DefaultKnowledgeHelper.delete(DefaultKnowledgeHelper.java:495)
> at org.drools.core.base.DefaultKnowledgeHelper.retract(DefaultKnowledgeHelper.java:486)
> at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731.defaultConsequence(Rule_basic$u46$delayExecution$u46$01246876731.java:7)
> at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
> at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvoker.evaluate(Unknown Source)
> at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114)
> - locked <0x00000000ff3da978> (a org.drools.core.common.DefaultAgenda)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:160)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:112)
> - locked <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
> at org.drools.core.phreak.PhreakTimerNode$Executor.qevauateAndFireRule(PhreakTimerNode.java:485)
> at org.drools.core.phreak.PhreakTimerNode$TimerNodeJob$1.run(PhreakTimerNode.java:420)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Found 1 deadlock.
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (DROOLS-776) Deadlock trying to synchronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread)
by Juan Carlos Garcia (JIRA)
[ https://issues.jboss.org/browse/DROOLS-776?page=com.atlassian.jira.plugin... ]
Juan Carlos Garcia updated DROOLS-776:
--------------------------------------
Summary: Deadlock trying to synchronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread) (was: Deadlock trying to syncronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread))
> Deadlock trying to synchronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread)
> ---------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-776
> URL: https://issues.jboss.org/browse/DROOLS-776
> Project: Drools
> Issue Type: Feature Request
> Affects Versions: 6.2.0.Final
> Reporter: Juan Carlos Garcia
> Assignee: Mark Proctor
>
> Migrating from drools 6.0.1.Final to 6.2.0.Final there seems to be a rare deadlock trying to syncronized the DefaultAgenda *eager* field, i have seen it only 2 or three times now as it seems very dificult to reproduce.
> In our scenario the test is calling *kSession.fireUntilHalt()* in a new thread, then in the main thread waiting for some events to happens (by calling in a loop: kSession.getObjects(new ClassObjectFilter(_clazz)))) and then doing some other assert checks.
> See the stacktrace below i took with jstack:
> {code}
> Java stack information for the threads listed above:
> ===================================================
> "Thread-5":
> at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:92)
> - waiting to lock <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
> at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:1044)
> - locked <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
> at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:996)
> at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1258)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1333)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1310)
> at bar.foo.AIDelayTest$1.run(AIDelayTest.java:101)
> at java.lang.Thread.run(Thread.java:745)
> "drools-worker-2":
> at org.drools.core.common.DefaultAgenda.addEagerRuleAgendaItem(DefaultAgenda.java:287)
> - waiting to lock <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
> at org.drools.core.reteoo.PathMemory.queueRuleAgendaItem(PathMemory.java:159)
> at org.drools.core.reteoo.PathMemory.doUnlinkRule(PathMemory.java:133)
> - locked <0x00000000ff2457a0> (a org.drools.core.reteoo.PathMemory)
> at org.drools.core.reteoo.PathMemory.unlinkedSegment(PathMemory.java:173)
> at org.drools.core.reteoo.SegmentMemory.unlinkNode(SegmentMemory.java:203)
> at org.drools.core.reteoo.BetaMemory.unlinkNode(BetaMemory.java:100)
> at org.drools.core.reteoo.BetaNode.doDeleteRightTuple(BetaNode.java:377)
> at org.drools.core.reteoo.JoinNode.retractRightTuple(JoinNode.java:107)
> at org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:345)
> at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:337)
> at org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:381)
> at org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:615)
> at org.drools.core.base.DefaultKnowledgeHelper.delete(DefaultKnowledgeHelper.java:495)
> at org.drools.core.base.DefaultKnowledgeHelper.retract(DefaultKnowledgeHelper.java:486)
> at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731.defaultConsequence(Rule_basic$u46$delayExecution$u46$01246876731.java:7)
> at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
> at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvoker.evaluate(Unknown Source)
> at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114)
> - locked <0x00000000ff3da978> (a org.drools.core.common.DefaultAgenda)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:160)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:112)
> - locked <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
> at org.drools.core.phreak.PhreakTimerNode$Executor.qevauateAndFireRule(PhreakTimerNode.java:485)
> at org.drools.core.phreak.PhreakTimerNode$TimerNodeJob$1.run(PhreakTimerNode.java:420)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Found 1 deadlock.
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (DROOLS-776) Deadlock trying to syncronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread)
by Juan Carlos Garcia (JIRA)
Juan Carlos Garcia created DROOLS-776:
-----------------------------------------
Summary: Deadlock trying to syncronize 'eager' field in DefaultAgenda (drools-worker thread and the other thread)
Key: DROOLS-776
URL: https://issues.jboss.org/browse/DROOLS-776
Project: Drools
Issue Type: Feature Request
Affects Versions: 6.2.0.Final
Reporter: Juan Carlos Garcia
Assignee: Mark Proctor
Migrating from drools 6.0.1.Final to 6.2.0.Final there seems to be a rare deadlock trying to syncronized the DefaultAgenda *eager* field, i have seen it only 2 or three times now as it seems very dificult to reproduce.
In our scenario the test is calling *kSession.fireUntilHalt()* in a new thread, then in the main thread waiting for some events to happens (by calling in a loop: kSession.getObjects(new ClassObjectFilter(_clazz)))) and then doing some other assert checks.
See the stacktrace below i took with jstack:
{code}
Java stack information for the threads listed above:
===================================================
"Thread-5":
at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:92)
- waiting to lock <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:1044)
- locked <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:996)
at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1258)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1333)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1310)
at bar.foo.AIDelayTest$1.run(AIDelayTest.java:101)
at java.lang.Thread.run(Thread.java:745)
"drools-worker-2":
at org.drools.core.common.DefaultAgenda.addEagerRuleAgendaItem(DefaultAgenda.java:287)
- waiting to lock <0x00000000ff3dab38> (a org.drools.core.util.LinkedList)
at org.drools.core.reteoo.PathMemory.queueRuleAgendaItem(PathMemory.java:159)
at org.drools.core.reteoo.PathMemory.doUnlinkRule(PathMemory.java:133)
- locked <0x00000000ff2457a0> (a org.drools.core.reteoo.PathMemory)
at org.drools.core.reteoo.PathMemory.unlinkedSegment(PathMemory.java:173)
at org.drools.core.reteoo.SegmentMemory.unlinkNode(SegmentMemory.java:203)
at org.drools.core.reteoo.BetaMemory.unlinkNode(BetaMemory.java:100)
at org.drools.core.reteoo.BetaNode.doDeleteRightTuple(BetaNode.java:377)
at org.drools.core.reteoo.JoinNode.retractRightTuple(JoinNode.java:107)
at org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:345)
at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:337)
at org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:381)
at org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:615)
at org.drools.core.base.DefaultKnowledgeHelper.delete(DefaultKnowledgeHelper.java:495)
at org.drools.core.base.DefaultKnowledgeHelper.retract(DefaultKnowledgeHelper.java:486)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731.defaultConsequence(Rule_basic$u46$delayExecution$u46$01246876731.java:7)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
at bar.foo.Rule_basic$u46$delayExecution$u46$01246876731DefaultConsequenceInvoker.evaluate(Unknown Source)
at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114)
- locked <0x00000000ff3da978> (a org.drools.core.common.DefaultAgenda)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:160)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:112)
- locked <0x00000000ff245780> (a org.drools.core.phreak.RuleExecutor)
at org.drools.core.phreak.PhreakTimerNode$Executor.qevauateAndFireRule(PhreakTimerNode.java:485)
at org.drools.core.phreak.PhreakTimerNode$TimerNodeJob$1.run(PhreakTimerNode.java:420)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Found 1 deadlock.
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (WFLY-3628) removing session's entry(ies) from the cache error
by Stephen Agneta (JIRA)
[ https://issues.jboss.org/browse/WFLY-3628?page=com.atlassian.jira.plugin.... ]
Stephen Agneta commented on WFLY-3628:
--------------------------------------
I'm still seeing this defect as well on WildFly 8.2.0 JDK 8:
.lang.NullPointerException] while invoking method [public void org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.activated(org.infinispan.notifications.cachelistener.event.CacheEntryActivatedEvent)] on listener instance: org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager@1a7d8ad
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:211) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:229) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:192) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryActivated(CacheNotifierImpl.java:355) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.ActivationInterceptor.sendNotification(ActivationInterceptor.java:109) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.CacheLoaderInterceptor.recordLoadedEntry(CacheLoaderInterceptor.java:325) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:278) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.ActivationInterceptor.loadIfNeeded(ActivationInterceptor.java:86) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:335) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:105) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.EntryWrappingInterceptor.visitGetKeyValueCommand(EntryWrappingInterceptor.java:116) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitGetKeyValueCommand(PessimisticLockingInterceptor.java:72) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:74) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:226) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:221) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.CacheMgmtInterceptor.visitGetKeyValueCommand(CacheMgmtInterceptor.java:92) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:73) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:74) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:79) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:74) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.CacheImpl.get(CacheImpl.java:377) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.DecoratedCache.get(DecoratedCache.java:396) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.infinispan.AbstractDelegatingCache.get(AbstractDelegatingCache.java:271) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
at org.jboss.as.clustering.infinispan.invoker.Locator$FindOperation.invoke(Locator.java:54)
at org.jboss.as.clustering.infinispan.invoker.Locator$LockingFindOperation.invoke(Locator.java:71)
at org.jboss.as.clustering.infinispan.invoker.SimpleCacheInvoker.invoke(SimpleCacheInvoker.java:34)
at org.jboss.as.clustering.infinispan.invoker.RetryingCacheInvoker.invoke(RetryingCacheInvoker.java:87)
at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.findValue(CoarseSessionFactory.java:109)
at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.findValue(CoarseSessionFactory.java:55)
at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.findSession(InfinispanSessionManager.java:148)
at org.wildfly.clustering.web.undertow.session.DistributableSessionManager.getSession(DistributableSessionManager.java:115)
at io.undertow.servlet.spec.ServletContextImpl.getSession(ServletContextImpl.java:688) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.spec.HttpServletRequestImpl.getSession(HttpServletRequestImpl.java:364) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.weld.servlet.SessionHolder.requestInitialized(SessionHolder.java:47) [weld-core-impl-2.2.6.Final.jar:2014-10-03 10:05]
at org.jboss.weld.servlet.HttpContextLifecycle.requestInitialized(HttpContextLifecycle.java:212) [weld-core-impl-2.2.6.Final.jar:2014-10-03 10:05]
at org.jboss.weld.servlet.WeldInitialListener.requestInitialized(WeldInitialListener.java:160) [weld-core-impl-2.2.6.Final.jar:2014-10-03 10:05]
at io.undertow.servlet.core.ApplicationListeners.requestInitialized(ApplicationListeners.java:216) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:260) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]
Caused by: java.lang.NullPointerException
at org.wildfly.clustering.web.infinispan.session.coarse.CoarseImmutableSessionAttributes.getAttributeNames(CoarseImmutableSessionAttributes.java:51)
at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.findListeners(InfinispanSessionManager.java:319)
at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.triggerPostActivationEvents(InfinispanSessionManager.java:308)
at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.activated(InfinispanSessionManager.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_45]
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:207) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
... 64 more
> removing session's entry(ies) from the cache error
> --------------------------------------------------
>
> Key: WFLY-3628
> URL: https://issues.jboss.org/browse/WFLY-3628
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 8.1.0.Final
> Environment: Linux 2.6.32-431.3.1.el6.x86_64 (Red Hat 4.4.7-4)
> 1 domain controller & 2 members in cluster
> Reporter: oleg suknov
> Assignee: Paul Ferraro
> Fix For: 8.2.0.Final
>
>
> There are no application data in session but there are some exceptions after wildfly attempted removing session's entry(ies) from the cache.
>
> 2014-06-30 15:57:15,166 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (default task-60) ISPN000136: Execution error: org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.NullPointerException] while invoking method [public void org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.removed(org.infinispan.notifications.cachelistener.event.CacheEntryRemovedEvent)] on listener instance: org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager@1bd3806d
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:211) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:229) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:192) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:230) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.notify(RemoveCommand.java:96) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.performRemove(RemoveCommand.java:213) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.perform(RemoveCommand.java:92) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:91) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.distribution.TxDistributionInterceptor.handleTxWriteCommand(TxDistributionInterceptor.java:275) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.distribution.TxDistributionInterceptor.visitRemoveCommand(TxDistributionInterceptor.java:80) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.CacheLoaderInterceptor.visitRemoveCommand(CacheLoaderInterceptor.java:132) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:321) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:402) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:216) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitRemoveCommand(OptimisticLockingInterceptor.java:135) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:255) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.TxInterceptor.visitRemoveCommand(TxInterceptor.java:196) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:206) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:156) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:73) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:79) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:57) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1306) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.CacheImpl.removeInternal(CacheImpl.java:407) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.CacheImpl.remove(CacheImpl.java:400) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.DecoratedCache.remove(DecoratedCache.java:406) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:281) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.jboss.as.clustering.infinispan.invoker.Remover$RemoveOperation.invoke(Remover.java:49)
> at org.jboss.as.clustering.infinispan.invoker.SimpleCacheInvoker.invoke(SimpleCacheInvoker.java:34)
> at org.jboss.as.clustering.infinispan.invoker.RetryingCacheInvoker.invoke(RetryingCacheInvoker.java:82)
> at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.remove(CoarseSessionFactory.java:117)
> at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.remove(CoarseSessionFactory.java:55)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSession.invalidate(InfinispanSession.java:74)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.findSession(InfinispanSessionManager.java:157)
> at org.wildfly.clustering.web.undertow.session.DistributableSessionManager.getSession(DistributableSessionManager.java:115)
> at io.undertow.servlet.spec.ServletContextImpl.getSession(ServletContextImpl.java:677) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.servlet.spec.HttpServletRequestImpl.getSession(HttpServletRequestImpl.java:353) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at org.jboss.weld.servlet.SessionHolder.requestInitialized(SessionHolder.java:47) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at org.jboss.weld.servlet.HttpContextLifecycle.requestInitialized(HttpContextLifecycle.java:168) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at org.jboss.weld.servlet.WeldInitialListener.requestInitialized(WeldInitialListener.java:153) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at io.undertow.servlet.core.ApplicationListeners.requestInitialized(ApplicationListeners.java:216) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:239) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727) [undertow-core-1.0.15.Final.jar:1.0.15.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]
> Caused by: java.lang.NullPointerException
> at org.wildfly.clustering.web.infinispan.session.coarse.CoarseImmutableSessionAttributes.getAttributeNames(CoarseImmutableSessionAttributes.java:51)
> at org.wildfly.clustering.web.session.ImmutableHttpSessionAdapter.getAttributeNames(ImmutableHttpSessionAdapter.java:80)
> at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.getAttributeNames(AbstractSessionBeanStore.java:48) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at org.jboss.weld.context.beanstore.AttributeBeanStore.getPrefixedAttributeNames(AttributeBeanStore.java:198) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at org.jboss.weld.context.beanstore.AttributeBeanStore.attach(AttributeBeanStore.java:95) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at org.jboss.weld.context.AbstractBoundContext.activate(AbstractBoundContext.java:66) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at org.jboss.weld.servlet.WeldTerminalListener.sessionDestroyed(WeldTerminalListener.java:60) [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
> at io.undertow.servlet.core.ApplicationListeners.sessionDestroyed(ApplicationListeners.java:264) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
> at org.wildfly.clustering.web.undertow.session.UndertowSessionContext$1.sessionDestroyed(UndertowSessionContext.java:60)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.removed(InfinispanSessionManager.java:236)
> at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source) [: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.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:207) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> ... 86 more
>
> 2014-06-30 15:57:15,181 ERROR [io.undertow.request] (default task-60) UT005023: Exception handling request to /hl/hl.jsp: org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.NullPointerException] while invoking method [public void org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.removed(org.infinispan.notifications.cachelistener.event.CacheEntryRemovedEvent)] on listener instance: org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager@1bd3806d
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:211) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core-6.0.2.Final.jar:6.0.2.Final]
>
>
>
> domain.xml:
> ...
> <subsystem xmlns="urn:jboss:domain:infinispan:2.0">
> ...
> <cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
> <transport stack="tcp" lock-timeout="60000"/>
> <distributed-cache name="dist" start="EAGER" batching="true" mode="SYNC" remote-timeout="300000" owners="2" l1-lifespan="0">
> <locking isolation="READ_UNCOMMITTED" striping="false" acquire-timeout="60000" concurrency-level="3000"/>
> <transaction mode="NONE" locking="OPTIMISTIC"/>
> <eviction strategy="LIRS" max-entries="1000"/>
> <file-store shared="true" preload="true"/>
> </distributed-cache>
> </cache-container>
> ...
> <cache-container name="ECEventsCacheContainer" default-cache="users" jndi-name="java:/infinispan/container/ECEventsCacheContainer">
> <transport stack="tcp"/>
> <replicated-cache name="users" batching="true" mode="SYNC">
> <locking isolation="REPEATABLE_READ"/>
> </replicated-cache>
> <replicated-cache name="operators" batching="true" mode="SYNC">
> <locking isolation="REPEATABLE_READ"/>
> </replicated-cache>
> </cache-container>
> </subsystem>
> ...
> <subsystem xmlns="urn:jboss:domain:jgroups:2.0" default-stack="tcp">
> ...
> <stack name="tcp">
> <transport type="TCP" socket-binding="jgroups-tcp">
> <property name="oob_thread_pool.max_threads">
> 300
> </property>
> <property name="oob_thread_pool.keep_alive_time">
> 20000
> </property>
> </transport>
> <protocol type="MPING">
> </protocol>
> <protocol type="MERGE2"/>
> <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
> <protocol type="FD"/>
> <protocol type="VERIFY_SUSPECT"/>
> <protocol type="pbcast.NAKACK2">
> <property name="use_mcast_xmit">
> false
> </property>
> <property name="use_mcast_xmit_req">
> false
> </property>
> </protocol>
> <protocol type="UNICAST3"/>
> <protocol type="pbcast.STABLE"/>
> <protocol type="pbcast.GMS"/>
> <protocol type="MFC"/>
> <protocol type="FRAG2"/>
> <protocol type="RSVP"/>
> </stack>
> </subsystem>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (WFCORE-424) .jar's on "current runtime classpath"
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-424?page=com.atlassian.jira.plugin... ]
Brian Stansberry updated WFCORE-424:
------------------------------------
Fix Version/s: (was: 1.0.0.CR1)
> .jar's on "current runtime classpath"
> -------------------------------------
>
> Key: WFCORE-424
> URL: https://issues.jboss.org/browse/WFCORE-424
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Modules
> Reporter: Ondrej Zizka
> Assignee: David Lloyd
>
> (Based on JBDS use case - see EAP6-1)
> In certain scenarios, JBDS needs to know the classpath. (Compilation of non-maven project, against a remote server, ...(?) )
> The classpath would be:
> * for the deployment after deployed
> * for a generic deployment if it was deployed right now - what would WildFly use?
> * for the deployment before deployed - sounds a bit advanced but technically possible
> We (David, Stuart, Jason, Max, Ondra) have discussed this on EAP F2F 2014.
> The output was that we don't need exact classpath / list of jars which would probably end up being almost all modules; rather we need the direct deps. As someone said - "just to get rid of the red lines in the IDE".
> The non-maven compilation use case is that the user has a server in a directory, and the jars to build against should all be in there. So the IDE should be able to ask WildFly for a list of .jar's to build the application against, and just use that instead of forcing the user to gather them manually.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (DROOLS-775) Performance degradation with objects with many properties in working memory.
by Federico Bertola (JIRA)
[ https://issues.jboss.org/browse/DROOLS-775?page=com.atlassian.jira.plugin... ]
Federico Bertola edited comment on DROOLS-775 at 4/28/15 11:13 AM:
-------------------------------------------------------------------
After further investigation (profiling) I found that if I stub the {{ClassObjectTypeConf#checkPropertyListenerSupport}} method (which uses reflection internally) I experience a noticeable performance increase.
was (Author: fbertola):
After further investigation (profiling) I found that if I stub the {{ClassObjectTypeConf#checkPropertyListenerSupport}} method (which uses reflection internally) I experience a noticeable performance increase. The field {{supportsPropertyListeners}} is not used anywhere else. There's something I'm missing?
> Performance degradation with objects with many properties in working memory.
> ----------------------------------------------------------------------------
>
> Key: DROOLS-775
> URL: https://issues.jboss.org/browse/DROOLS-775
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.0.0.Final, 6.1.0.Final, 6.2.0.Final
> Environment: Ubuntu 14.10 x64, jdk 8
> Reporter: Federico Bertola
> Assignee: Mario Fusco
> Labels: regression
> Attachments: drools-test.zip
>
>
> I experience some major performance degradation while migrating from drools 5.0.1 to 6.x. I'm inserting objects with many properties into the working memory and firing some very basic rules which will match against a very small subset of those properties. I expected that the older version of Drools, which uses pure reflection, to be somewhat slower than the newer, which uses some clever ASM optimization., but this is not the case. I've also noticed that if the required properties are scattered across multiple level of hierarchy, the performance issue will aggravate.
> For example, after 100k iterations:
> droosl 5.0.1
> -- Meters ----------------------------------------------------------------------
> org.acme.test.drools5.DroolsPerformance.analized
> count = 100000
> mean rate = 549.27 events/second
> ...
> drools 6.2.0.Final
> -- Meters ----------------------------------------------------------------------
> org.acme.test.drools6.DroolsPerformance.analized
> count = 100000
> mean rate = 198.58 events/second
> ...
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (WFCORE-313) DefaultOperationDescriptionProvider uses incorrect call to create reply parameter description
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-313?page=com.atlassian.jira.plugin... ]
Brian Stansberry updated WFCORE-313:
------------------------------------
Fix Version/s: 2.0.0.Beta1
(was: 1.0.0.CR1)
> DefaultOperationDescriptionProvider uses incorrect call to create reply parameter description
> ---------------------------------------------------------------------------------------------
>
> Key: WFCORE-313
> URL: https://issues.jboss.org/browse/WFCORE-313
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Reporter: Brian Stansberry
> Fix For: 2.0.0.Beta1
>
>
> When creating reply descriptions, DefaultOperationDescriptionProvider calls attributeDescriptionResolver.getOperationParameterDescription instead of attributeDescriptionResolver.getOperationReplyValueTypeDescription.
> A fix needs to not break compatibility for existing users of the incorrect behavior; i.e. call the correct method in a try block, catch any MissingResourceException, and if caught call the incorrect method.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (WFCORE-43) Clarify the meaning of the 'server-state' and 'host-state' attributes
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-43?page=com.atlassian.jira.plugin.... ]
Brian Stansberry updated WFCORE-43:
-----------------------------------
Fix Version/s: 2.0.0.Beta1
(was: 1.0.0.CR1)
> Clarify the meaning of the 'server-state' and 'host-state' attributes
> ---------------------------------------------------------------------
>
> Key: WFCORE-43
> URL: https://issues.jboss.org/browse/WFCORE-43
> Project: WildFly Core
> Issue Type: Enhancement
> Components: Domain Management
> Reporter: Brian Stansberry
> Assignee: luck3y
> Fix For: 2.0.0.Beta1
>
>
> This JIRA is to implement what I described in the dev list discussion around the various states a server can be in for graceful shutdown (http://lists.jboss.org/pipermail/wildfly-dev/2014-June/002360.html)
> "I do think these are orthogonal and should not be combined.
> The existing attribute is fundamentally about how the state of the
> runtime services relates to the persistent configuration.
> STARTING == out of sync due to still getting in sync during start
> RUNNING == in sync
> RELOAD_REQUIRED = out of sync, needs a reload to get in sync
> RESTART_REQUIRED = out of sync, needs a full process restart to get in sync
> There are two problems though with the existing attribute that exposes this:
> 1) It's named "server-state" on a server and "host-state" on a Host
> Controller. Really crappy name; way too broad.
> That's fixable by creating a new attribute and making the old one an
> alias for compatibility purposes.
> 2) The RUNNING state is really poorly named.
> The could perhaps be fixed by coming up with a new name and translating
> it back to "RUNNING" in the handlers for the legacy "server-state" and
> "host-state" attributes."
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (WFCORE-60) Capabilities and requirements in a managed process
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-60?page=com.atlassian.jira.plugin.... ]
Brian Stansberry updated WFCORE-60:
-----------------------------------
Fix Version/s: 2.0.0.Beta1
(was: 1.0.0.CR1)
> Capabilities and requirements in a managed process
> --------------------------------------------------
>
> Key: WFCORE-60
> URL: https://issues.jboss.org/browse/WFCORE-60
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Domain Management
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
> Fix For: 2.0.0.Beta1
>
>
> Implement the aspects discussed under the "Runtime" section of https://community.jboss.org/docs/DOC-52712
> Add an API to the OperationContext for handlers to publish capabilities and for other handlers to register a requirement for those capabilities and to access the API object associated with the capability.
> The registry of capabilities and requirements should be maintained with a semantic equivalent to the resource tree. The registry is copied-on-write, making the copy invisible to concurrently executing operations, and then the copy is published on commit of the operation that modified it. If the operation does not commit, the copy is discarded, so handlers have no need to revert changes they make to the registry.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months
[JBoss JIRA] (WFCORE-170) Create a shared ScheduledExecutorService
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-170?page=com.atlassian.jira.plugin... ]
Brian Stansberry updated WFCORE-170:
------------------------------------
Fix Version/s: 2.0.0.Alpha1
(was: 1.0.0.CR1)
> Create a shared ScheduledExecutorService
> ----------------------------------------
>
> Key: WFCORE-170
> URL: https://issues.jboss.org/browse/WFCORE-170
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Server
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
> Fix For: 2.0.0.Alpha1
>
>
> There are number of ScheduledExecutorService instances being created around wf-core. Create a single service and inject it.
> This will reduce resource usage by creating fewer threads, and will reduce the risk of code mistakes around shutting down the various executors,
> I see these used in:
> LdapCacheService
> RemoteDomainConnectionService
> DeploymentMountProvider
> DeploymentScannerService
> plus the operation response attachment stuff I'm doing will need one.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months