[JBoss JIRA] (ISPN-4334) MapReduceTaskLifecycleService shouldn't keep the list of found lifecycle implementations
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-4334?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-4334:
-------------------------------
Assignee: Vladimir Blagojevic (was: Dan Berindei)
> MapReduceTaskLifecycleService shouldn't keep the list of found lifecycle implementations
> ----------------------------------------------------------------------------------------
>
> Key: ISPN-4334
> URL: https://issues.jboss.org/browse/ISPN-4334
> Project: Infinispan
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Distributed Execution and Map/Reduce, Remote Querying
> Reporter: Jakub Markos
> Assignee: Vladimir Blagojevic
>
> The issue is that this class https://github.com/infinispan/infinispan/blob/master/core/src/main/java/o... searches for the lifecycle classes using current threads classloader, and then caches the result, so the returned list of implementations depends only on the 1st thread creating the singleton instance of the service.
> You can replicate the bug from this branch:
> https://github.com/jmarkos/infinispan/tree/queries
> running
> {code}
> mvn clean verify -Dmaven.test.failure.ignore=true -DfailIfNoTests=false -U -Psuite.others -Dtest=RemoteQueryKeySetTest,ManualIndexingTest
> {code}
> from the server/integration/testsuite directory, results in an exception:
> {code}javax.management.MBeanException
> at org.infinispan.jmx.ResourceDMBean.invoke(ResourceDMBean.java:271)
> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
> at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.invoke(PluggableMBeanServerImpl.java:527)
> at org.jboss.as.jmx.PluggableMBeanServerImpl.invoke(PluggableMBeanServerImpl.java:263)
> at org.jboss.remotingjmx.protocol.v2.ServerProxy$InvokeHandler.handle(ServerProxy.java:915)
> at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1.run(ServerCommon.java:152)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.reflect.InvocationTargetException
> 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:601)
> at org.infinispan.jmx.ResourceDMBean.invoke(ResourceDMBean.java:269)
> ... 9 more
> Caused by: org.infinispan.commons.CacheException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
> at org.infinispan.distexec.mapreduce.MapReduceTask.executeHelper(MapReduceTask.java:517)
> at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:427)
> at org.infinispan.query.impl.massindex.MapReduceMassIndexer.start(MapReduceMassIndexer.java:25)
> ... 14 more
> Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
> at java.util.concurrent.FutureTask.get(FutureTask.java:111)
> at org.infinispan.distexec.mapreduce.MapReduceTask$TaskPart.get(MapReduceTask.java:1059)
> at org.infinispan.distexec.mapreduce.MapReduceTask.executeMapPhaseWithLocalReduction(MapReduceTask.java:677)
> at org.infinispan.distexec.mapreduce.MapReduceTask.executeHelper(MapReduceTask.java:510)
> ... 16 more
> Caused by: java.lang.NullPointerException
> at org.infinispan.query.impl.massindex.IndexingMapper.map(IndexingMapper.java:38)
> at org.infinispan.distexec.mapreduce.MapReduceManagerImpl$2.apply(MapReduceManagerImpl.java:207)
> at org.infinispan.distexec.mapreduce.MapReduceManagerImpl$2.apply(MapReduceManagerImpl.java:202)
> at org.infinispan.container.DefaultDataContainer$1.apply(DefaultDataContainer.java:393)
> at org.infinispan.container.DefaultDataContainer$1.apply(DefaultDataContainer.java:389)
> at org.infinispan.commons.util.concurrent.jdk8backported.ConcurrentParallelHashMapV8$1.apply(ConcurrentParallelHashMapV8.java:48)
> at org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForEachMappingTask.compute(EquivalentConcurrentHashMapV8.java:4894)
> at org.infinispan.commons.util.concurrent.jdk8backported.CountedCompleter.exec(CountedCompleter.java:681)
> at org.infinispan.commons.util.concurrent.jdk8backported.ForkJoinTask.doExec(ForkJoinTask.java:264)
> at org.infinispan.commons.util.concurrent.jdk8backported.ForkJoinTask.doInvoke(ForkJoinTask.java:360)
> at org.infinispan.commons.util.concurrent.jdk8backported.ForkJoinTask.invoke(ForkJoinTask.java:692)
> at org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8.forEach(EquivalentConcurrentHashMapV8.java:3592)
> at org.infinispan.commons.util.concurrent.jdk8backported.ConcurrentParallelHashMapV8.forEach(ConcurrentParallelHashMapV8.java:44)
> at org.infinispan.container.DefaultDataContainer.executeTask(DefaultDataContainer.java:389)
> at org.infinispan.distexec.mapreduce.MapReduceManagerImpl.map(MapReduceManagerImpl.java:202)
> at org.infinispan.distexec.mapreduce.MapReduceManagerImpl.mapAndCombineForLocalReduction(MapReduceManagerImpl.java:87)
> at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart.invokeMapCombineLocallyForLocalReduction(MapReduceTask.java:1173)
> at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart.access$300(MapReduceTask.java:1112)
> at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart$2.call(MapReduceTask.java:1144)
> at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart$2.call(MapReduceTask.java:1140)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> at org.jboss.threads.JBossThread.run(JBossThread.java:122)
> {code}
> If you instead use -Dtest=RemoteQueryKeySetTest,ManualIndexingggggggggggggTest (to change the order of the execution, junit probably orders it by length), it passes, because MapReduceTaskLifecycleService is created from a thread which classloader sees the query module and therefore can load this class
> https://github.com/infinispan/infinispan/blob/master/query/src/main/java/... which properly initializes IndexingMapper and avoids the NPE.
> Thanks to Adrian Nistor for his help.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (ISPN-4565) ReplTotalOrderVersionedStateTransferTest.testStateTransfer random failures
by Dan Berindei (JIRA)
Dan Berindei created ISPN-4565:
----------------------------------
Summary: ReplTotalOrderVersionedStateTransferTest.testStateTransfer random failures
Key: ISPN-4565
URL: https://issues.jboss.org/browse/ISPN-4565
Project: Infinispan
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core, State Transfer, Test Suite - Core
Affects Versions: 7.0.0.Alpha5
Reporter: Dan Berindei
Assignee: Pedro Ruivo
Priority: Blocker
Fix For: 7.0.0.Beta1
A NullPointerException appears while processing the 2nd tx:
{noformat}
04:27:12,078 DEBUG (remote-thread-ReplTotalOrderVersionedStateTransferTest-NodeB-p12450-t4:) [TotalOrderInterceptor] Exception while rollback transaction ReplTotalOrderVersionedStateTransferTest-NodeC-12055:56786
java.lang.NullPointerException
at org.infinispan.transaction.impl.WriteSkewHelper.performTotalOrderWriteSkewCheckAndReturnNewVersions(WriteSkewHelper.java:76)
at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.totalOrderCreateNewVersionsAndCheckForWriteSkews(ClusteringDependentLogic.java:133)
at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.createNewVersionsAndCheckForWriteSkews(ClusteringDependentLogic.java:93)
at org.infinispan.interceptors.totalorder.TotalOrderVersionedEntryWrappingInterceptor.visitPrepareCommand(TotalOrderVersionedEntryWrappingInterceptor.java:62)
at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:124)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:36)
at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:124)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.TxInterceptor.invokeNextInterceptorAndVerifyTransaction(TxInterceptor.java:124)
at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:111)
at org.infinispan.interceptors.TxInterceptor.visitCommitCommand(TxInterceptor.java:184)
at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:32)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.totalorder.TotalOrderInterceptor.visitSecondPhaseCommand(TotalOrderInterceptor.java:148)
at org.infinispan.interceptors.totalorder.TotalOrderInterceptor.visitCommitCommand(TotalOrderInterceptor.java:125)
{noformat}
(The error message is misleading, this is a commit and not a rollback.)
The 1st tx still fails with a WriteSkewException, but then the test fails because the 2nd tx didn't update the value:
{noformat}
04:27:12,286 ERROR (testng-ReplTotalOrderVersionedStateTransferTest:) [UnitTestTestNGListener] Test testStateTransfer(org.infinispan.tx.totalorder.statetransfer.ReplTotalOrderVersionedStateTransferTest) failed.
java.lang.AssertionError: expected:<new world> but was:<world>
at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:88)
at org.infinispan.container.versioning.VersionedReplStateTransferTest.testStateTransfer(VersionedReplStateTransferTest.java:89)
{noformat}
Full log here: http://ci.infinispan.org/viewLog.html?buildId=9816&buildTypeId=Infinispan...
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (ISPN-4564) Optimize test suite GC settings in CI
by Dan Berindei (JIRA)
Dan Berindei created ISPN-4564:
----------------------------------
Summary: Optimize test suite GC settings in CI
Key: ISPN-4564
URL: https://issues.jboss.org/browse/ISPN-4564
Project: Infinispan
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Build process
Affects Versions: 7.0.0.Alpha5
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 7.0.0.Beta1
Some CI test logs show big pauses (> 5s) causing intermittent failure. We should monitor the GC activity during the builds and maybe enable UseConcMarkSweepGC or UseG1GC.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (ISPN-1951) Use MERGE3 in the default UDP configuration
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-1951?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-1951:
------------------------------------
MERGE2 is now deprecated, and I found a possible problem with it in CI with it starting a merge right after a proper join:
{noformat}
07:17:21,451 DEBUG (testng-StateTransferFunctionalTest:) [GMS] NodeK-49397: installing view [NodeK-49397|0] (1) [NodeK-49397]
07:17:21,452 DEBUG (testng-StateTransferFunctionalTest:) [GMS] created cluster (first member). My view is [NodeK-49397|0], impl is org.jgroups.protocols.pbcast.CoordGmsImpl
07:17:22,050 DEBUG (testng-StateTransferFunctionalTest:) [GMS] address=NodeL-27669, cluster=ISPN, physical address=127.0.0.1:8701
07:17:22,057 DEBUG (testng-StateTransferFunctionalTest:) [GMS] NodeL-27669: sending JOIN(NodeL-27669) to NodeK-49397
07:17:22,321 DEBUG (Incoming-1,NodeK-49397:) [GMS] NodeK-49397: installing view [NodeK-49397|1] (2) [NodeK-49397, NodeL-27669]
07:17:22,410 DEBUG (testng-StateTransferFunctionalTest:) [GMS] NodeL-27669: installing view [NodeK-49397|1] (2) [NodeK-49397, NodeL-27669]
07:17:24,548 DEBUG (testng-StateTransferFunctionalTest:) [GMS] address=NodeM-50259, cluster=ISPN, physical address=127.0.0.1:8702
07:17:24,557 DEBUG (testng-StateTransferFunctionalTest:) [GMS] NodeM-50259: sending JOIN(NodeM-50259) to NodeK-49397
07:17:24,683 DEBUG (Incoming-1,NodeK-49397:) [GMS] NodeK-49397: installing view [NodeK-49397|2] (3) [NodeK-49397, NodeL-27669, NodeM-50259]
07:17:24,704 DEBUG (Incoming-1,NodeL-27669:) [GMS] NodeL-27669: installing view [NodeK-49397|2] (3) [NodeK-49397, NodeL-27669, NodeM-50259]
07:17:24,729 DEBUG (Timer-3,NodeK-49397:) [MERGE2] NodeK-49397 found different views : [NodeK-49397|2], [NodeK-49397|1]; sending up MERGE event with merge participants [NodeM-50259, NodeK-49397].
Discovery results:
[NodeL-27669]: coord=NodeK-49397
[NodeK-49397]: coord=NodeK-49397
07:17:24,757 DEBUG (testng-StateTransferFunctionalTest:) [GMS] NodeM-50259: installing view [NodeK-49397|2] (3) [NodeK-49397, NodeL-27669, NodeM-50259]
07:17:25,109 DEBUG (Incoming-1,NodeL-27669:) [GMS] NodeL-27669: installing view MergeView::[NodeK-49397|3] (3) [NodeK-49397, NodeM-50259, NodeL-27669], 2 subgroups: [NodeK-49397|2] (1) [NodeM-50259], [NodeK-49397|2] (2) [NodeK-49397, NodeL-27669]
07:17:25,114 DEBUG (Incoming-1,NodeM-50259:) [GMS] NodeM-50259: installing view MergeView::[NodeK-49397|3] (3) [NodeK-49397, NodeM-50259, NodeL-27669], 2 subgroups: [NodeK-49397|2] (1) [NodeM-50259], [NodeK-49397|2] (2) [NodeK-49397, NodeL-27669]
07:17:25,166 DEBUG (OOB-1,NodeK-49397:) [GMS] NodeK-49397: installing view MergeView::[NodeK-49397|3] (3) [NodeK-49397, NodeM-50259, NodeL-27669], 2 subgroups: [NodeK-49397|2] (1) [NodeM-50259], [NodeK-49397|2] (2) [NodeK-49397, NodeL-27669]
{noformat}
> Use MERGE3 in the default UDP configuration
> -------------------------------------------
>
> Key: ISPN-1951
> URL: https://issues.jboss.org/browse/ISPN-1951
> Project: Infinispan
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Configuration
> Affects Versions: 5.1.2.FINAL
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Labels: testsuite_stability
> Fix For: 7.0.0.Beta1
>
>
> Bela recommends using MERGE3 instead of MERGE2 in UDP clusters.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (ISPN-4563) Race condition in JCache creation for interceptors
by Elias Ross (JIRA)
Elias Ross created ISPN-4563:
--------------------------------
Summary: Race condition in JCache creation for interceptors
Key: ISPN-4563
URL: https://issues.jboss.org/browse/ISPN-4563
Project: Infinispan
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: CDI Integration
Affects Versions: 6.0.2.Final
Reporter: Elias Ross
Assignee: Mircea Markus
Intercepted methods, annotated like @CacheResult, if called from multiple threads, can attempt to create multiple caches.
Work-around is to create the cache in a @PostContruct block.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (ISPN-4515) Create repository for lucene wildfly modules
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-4515?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-4515:
------------------------------------
Fix Version/s: 7.0.0.Beta1
> Create repository for lucene wildfly modules
> ----------------------------------------------
>
> Key: ISPN-4515
> URL: https://issues.jboss.org/browse/ISPN-4515
> Project: Infinispan
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Lucene Directory
> Affects Versions: 7.0.0.Alpha4, 7.0.0.Alpha5
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Fix For: 7.0.0.Beta1
>
>
> In order to standardize the Lucene directory modules for Wildfly usage across projects, so that a single "slot" is used, and to be able to evolve it independently from Infinispan releases, we need to create a new repository & Maven project
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months