JPPF Issue Tracker
JPPF (jppf)
June 11, 2019
May 20, 2019
feature_request_tiny.png 09:11  Feature request JPPF-589 - Docker images for JPPF components
lolocohen : Priority changed: Normal ⇒ High
feature_request_tiny.png 09:09  Feature request JPPF-589 - Docker images for JPPF components
lolocohen : Description updated
May 14, 2019
task_tiny.png 07:43  Task JPPF-591 - Come up with a lightweight test suite for day-to-day development purposes
lolocohen : Issue closed
task_tiny.png 07:43  Task JPPF-591 - Come up with a lightweight test suite for day-to-day development purposes
lolocohen : Status changed: New ⇒ Closed
task_tiny.png 07:43  Task JPPF-591 - Come up with a lightweight test suite for day-to-day development purposes
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
May 13, 2019
task_tiny.png 09:05  Task JPPF-591 - Come up with a lightweight test suite for day-to-day development purposes
lolocohen : Category changed: Other ⇒ Testing
task_tiny.png 09:03  Task JPPF-591 - Come up with a lightweight test suite for day-to-day development purposes
lolocohen : Issue created
Currently, the full suite of autmated tests take 15 to 25 mn to run, depending on the hardware. We propose to reduce it to a more reasonable set of tests that would take much less time, while still providing a meaningful coverage.

We also propose to run this lightweight suite as part of the Travis build setup in github, in addition to making it available locally on the command line. The currentm CI build with Jenkins would still run the full suite.
May 12, 2019
bug_report_tiny.png 12:21  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : Issue closed
bug_report_tiny.png 12:21  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : Status changed: New ⇒ Closed
bug_report_tiny.png 12:21  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
bug_report_tiny.png 12:21  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : lolo4j ⇒ Not being worked on
May 11, 2019
feature_request_tiny.png 09:53  Feature request JPPF-589 - Docker images for JPPF components
lolocohen : Assignee changed: lolo4j
May 10, 2019
feature_request_tiny.png 20:21  Feature request JPPF-583 - Tasks dependencies within a job
lolocohen : Issue closed
feature_request_tiny.png 20:21  Feature request JPPF-583 - Tasks dependencies within a job
lolocohen : Status changed: New ⇒ Closed
feature_request_tiny.png 20:21  Feature request JPPF-583 - Tasks dependencies within a job
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
feature_request_tiny.png 20:21  Feature request JPPF-583 - Tasks dependencies within a job
lolocohen : lolo4j ⇒ Not being worked on
May 05, 2019
bug_report_tiny.png 08:17  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : Assignee changed: lolo4j
bug_report_tiny.png 08:16  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : Issue created
The Jenkins build is showing intermittent failures for some of our automated tests on multiserver topologies. I'm not sure yet what the problem is exactly, but it seems to occur frequently enough (1 time out of 5) to warrant a dedicated bug report.
The failures I've been seeing recently, and for which a set of logs is attached to this defect:

build 221:
test: test.org.jppf.server.peer.TestMultiServer.testTopologyMonitoring()

java.lang.Exception: test timed out after 10000 milliseconds
at java.lang.ThreadGroup.threadTerminated(ThreadGroup.java:942)
at java.lang.Thread.exit(Thread.java:755)
build 227:
Test: test.org.jppf.server.peer.TestMultiServerSetup.testSetup()

java.lang.Exception: test timed out after 15000 milliseconds
at sun.misc.Unsafe.getObject(Native Method)
at java.io.ObjectStreamClass$FieldReflector.getObjFieldValues(ObjectStreamClass.java:2094)
at java.io.ObjectStreamClass.getObjFieldValues(ObjectStreamClass.java:1296)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1539)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at org.jppf.jmxremote.message.JMXRequest.writeObject(JMXRequest.java:102)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at org.jppf.serialization.DefaultJavaSerialization.serialize(DefaultJavaSerialization.java:29)
at org.jppf.utils.ObjectSerializerImpl.serialize(ObjectSerializerImpl.java:79)
at org.jppf.io.IOHelper.serializeDataToMemory(IOHelper.java:274)
at org.jppf.io.IOHelper.serializeData(IOHelper.java:255)
at org.jppf.io.IOHelper.serializeData(IOHelper.java:241)
at org.jppf.jmxremote.nio.JMXContext.offerJmxMessage(JMXContext.java:121)
at org.jppf.jmxremote.message.JMXMessageHandler.sendMessage(JMXMessageHandler.java:197)
at org.jppf.jmxremote.message.JMXMessageHandler.receiveResponse(JMXMessageHandler.java:122)
at org.jppf.jmxremote.message.JMXMessageHandler.sendRequestWithResponse(JMXMessageHandler.java:107)
at org.jppf.jmxremote.JPPFMBeanServerConnection.invoke(JPPFMBeanServerConnection.java:238)
at org.jppf.management.JMXConnectionWrapper.invoke(JMXConnectionWrapper.java:162)
at org.jppf.management.JMXDriverConnectionWrapper.nbIdleNodes(JMXDriverConnectionWrapper.java:224)
at test.org.jppf.test.setup.AbstractNonStandardSetup.lambda$awaitNbIdleNodes$2(AbstractNonStandardSetup.java:415)
at test.org.jppf.test.setup.AbstractNonStandardSetup$$Lambda$17/1147147352.evaluateWithException(Unknown Source)
at org.jppf.utils.concurrent.ConcurrentUtils$ConditionFalseOnException.evaluate(ConcurrentUtils.java:246)
at org.jppf.utils.concurrent.ConcurrentUtils.awaitCondition(ConcurrentUtils.java:96)
at test.org.jppf.test.setup.AbstractNonStandardSetup.awaitNbIdleNodes(AbstractNonStandardSetup.java:415)
at test.org.jppf.test.setup.AbstractNonStandardSetup.awaitNbIdleNodes(AbstractNonStandardSetup.java:400)
at test.org.jppf.test.setup.AbstractNonStandardSetup.checkPeers(AbstractNonStandardSetup.java:371)
at test.org.jppf.test.setup.AbstractNonStandardSetup.checkPeers(AbstractNonStandardSetup.java:340)
at test.org.jppf.test.setup.AbstractNonStandardSetup.checkPeers(AbstractNonStandardSetup.java:329)
at test.org.jppf.server.peer.TestMultiServerSetup.testSetup(TestMultiServerSetup.java:49)
bug_report_tiny.png 08:16  Bug report JPPF-590 - Failures in v6.1 in multi-server topology tests
lolocohen : 'JPPF 6.1' added
May 01, 2019
icon_build.png 10:00 JPPF 6.0.3
New version released
April 20, 2019
bug_report_tiny.png 11:10  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Issue closed
bug_report_tiny.png 11:10  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Status changed: New ⇒ Closed
bug_report_tiny.png 11:10  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
bug_report_tiny.png 11:10  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : lolo4j ⇒ Not being worked on
bug_report_tiny.png 11:07  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Reproducability changed: Reproduction steps updated
feature_request_tiny.png 07:22  Feature request JPPF-589 - Docker images for JPPF components
lolocohen : Issue created
We propose to add Docker images for JPPF, for drivers, nodes and web admin console. The configuration of a JPPF grid with docker should allow any kind of JPPF topology, including multi-server topologies.

Antoher objectivve is to provide ready-to-use tools and configurations to run JPPF grids within a Docker swarm/Kubernetes infrastructure.
bug_report_tiny.png 07:10  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Category changed: Other ⇒ Persistence
bug_report_tiny.png 07:10  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Assignee changed: lolo4j
bug_report_tiny.png 07:09  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : 'JPPF trunk' added
bug_report_tiny.png 07:09  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : 'JPPF 6.0.2' added
bug_report_tiny.png 07:08  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : Issue created
In a recently failed test of the file-based job persistence, I could find the following pattern in the driver log, where multilpe threads are performing 'store' and 'delete' opeations:
2019-04-19 08:07:34,852 [DEBUG][JPPF-0007][org.jppf.server.queue.PersistenceHandler.storeResults(116)] persisting 5 results for job ServerJob[id=2, job uuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23, name=testSimplePersistedJob, submissionStatus=EXECUTING, status=EXECUTING, taskCount=0, nbBundles=1, jobExpired=false, pending=false, suspended=false]
...
2019-04-19 08:07:34,852 [DEBUG][JPPF-0007][org.jppf.job.persistence.impl.DefaultFilePersistence.store(97)] storing [PersistenceInfoImpl[type=TASK_RESULT, taskPosition=5, job=testSimplePersistedJob, jobUuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23], PersistenceInfoImpl[type=TASK_RESULT, taskPosition=8, job=testSimplePersistedJob, jobUuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23], PersistenceInfoImpl[type=TASK_RESULT, taskPosition=6, job=testSimplePersistedJob, jobUuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23], PersistenceInfoImpl[type=TASK_RESULT, taskPosition=9, job=testSimplePersistedJob, jobUuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23], PersistenceInfoImpl[type=TASK_RESULT, taskPosition=7, job=testSimplePersistedJob, jobUuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23]]
2019-04-19 08:07:34,852 [DEBUG][JPPF-0005][org.jppf.server.job.JPPFJobManager.jobEnded(195)] jobId 'testSimplePersistedJob' ended
2019-04-19 08:07:34,853 [DEBUG][JPPF-0005][org.jppf.server.queue.PersistenceHandler.deleteJob(141)] removing job 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23 from persistence store
2019-04-19 08:07:34,853 [DEBUG][JPPF-0005][org.jppf.job.persistence.impl.DefaultFilePersistence.deleteJob(168)] deleting job with uuid = 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23
2019-04-19 08:07:34,854 [DEBUG][JPPF-0003][org.jppf.server.queue.PersistenceHandler.deleteJob(141)] removing job 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23 from persistence store
2019-04-19 08:07:34,854 [DEBUG][JPPF-0003][org.jppf.job.persistence.impl.DefaultFilePersistence.deleteJob(168)] deleting job with uuid = 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23
...
2019-04-19 08:07:34,858 [DEBUG][JPPF-0007][org.jppf.server.protocol.ServerJob.lambda$postResultsReceived$0(189)] received results for ServerTaskBundleClient[id=2, pendingTasks=0, cancelled=false, done=true, job=JPPFTaskBundle[name=testSimplePersistedJob, uuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23, initialTaskCount=10, taskCount=10, bundleUuid=null, uuidPath=TraversalList[position=0, list=[4F5DEEB3-FEDE-4A18-A48F-9EE05CF06D94, d1]], nodeBundleId=null]; strategy=NodeResults]
2019-04-19 08:07:34,858 [DEBUG][JPPF-0007][org.jppf.server.protocol.ServerJob.taskCompleted(245)] requeue = false for bundle ServerTaskBundleNode[id=4, name=testSimplePersistedJob, uuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23, initialTaskCount=10, taskCount=5, cancelled=false, requeued=false, channel=AsyncNodeContext[uuid=n2, peer=false, ssl=false, local=false, offline=false, maxJobs=1, jobEntries=0, sendQueue size=0, interestOps=1, executionStatus=EXECUTING]], job = ServerJob[id=2, job uuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23, name=testSimplePersistedJob, submissionStatus=ENDED, status=DONE, taskCount=0, nbBundles=0, jobExpired=false, pending=false, suspended=false]
2019-04-19 08:07:34,859 [DEBUG][JPPF-0007][org.jppf.server.queue.PersistenceHandler.deleteJob(141)] removing job 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23 from persistence store
2019-04-19 08:07:34,859 [DEBUG][JPPF-0007][org.jppf.job.persistence.impl.DefaultFilePersistence.deleteJob(168)] deleting job with uuid = 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23
2019-04-19 08:07:34,860 [WARN ][JPPF-0003][org.jppf.utils.DeleteFileVisitor.visitFile(82)] error trying to delete file 'persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-7.tmp': java.nio.file.NoSuchFileException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-7.tmp
2019-04-19 08:07:34,860 [ERROR][JPPF-0007][org.jppf.server.queue.PersistenceHandler.deleteJob(145)] error deleting persistent job 0282BA15-CE62-4C5D-AF33-5F92CFB2BB23 : org.jppf.job.persistence.JobPersistenceException: java.nio.file.AccessDeniedException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\header.data
at org.jppf.job.persistence.impl.DefaultFilePersistence.deleteJob(DefaultFilePersistence.java:172)
at org.jppf.server.queue.PersistenceHandler.deleteJob(PersistenceHandler.java:143)
at org.jppf.server.queue.PersistenceHandler.deleteJob(PersistenceHandler.java:132)
at org.jppf.server.queue.RemoveBundleAction.run(RemoveBundleAction.java:63)
at org.jppf.server.protocol.AbstractServerJob.done(AbstractServerJob.java:333)
at org.jppf.server.protocol.AbstractServerJob.setSubmissionStatus(AbstractServerJob.java:418)
at org.jppf.server.protocol.ServerJob.taskCompleted(ServerJob.java:253)
at org.jppf.server.protocol.ServerJob.postResultsReceived(ServerJob.java:191)
at org.jppf.server.protocol.ServerJob.resultsReceived(ServerJob.java:142)
at org.jppf.server.protocol.ServerTaskBundleNode.resultsReceived(ServerTaskBundleNode.java:198)
at org.jppf.server.nio.nodeserver.async.AsyncNodeMessageHandler.processResults(AsyncNodeMessageHandler.java:337)
at org.jppf.server.nio.nodeserver.async.AsyncNodeMessageHandler.process(AsyncNodeMessageHandler.java:274)
at org.jppf.server.nio.nodeserver.async.AsyncNodeMessageHandler.resultsReceived(AsyncNodeMessageHandler.java:183)
at org.jppf.server.nio.nodeserver.async.AsyncNodeMessageReader.handleMessage(AsyncNodeMessageReader.java:73)
at org.jppf.nio.NioMessageReader$HandlingTask.run(NioMessageReader.java:134)
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)
Caused by: java.nio.file.AccessDeniedException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\header.data
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
at java.nio.file.Files.delete(Files.java:1126)
at org.jppf.utils.DeleteFileVisitor.visitFile(DeleteFileVisitor.java:78)
at org.jppf.utils.DeleteFileVisitor.visitFile(DeleteFileVisitor.java:30)
at java.nio.file.Files.walkFileTree(Files.java:2670)
at java.nio.file.Files.walkFileTree(Files.java:2742)
at org.jppf.job.persistence.impl.DefaultFilePersistence.deleteJob(DefaultFilePersistence.java:170)
... 17 more
2019-04-19 08:07:34,861 [DEBUG][JPPF-0007][org.jppf.server.protocol.ServerJob.taskCompleted(254)] submissionStatus=ENDED, clientBundles=0 for ServerJob[id=2, job uuid=0282BA15-CE62-4C5D-AF33-5F92CFB2BB23, name=testSimplePersistedJob, submissionStatus=ENDED, status=DONE, taskCount=0, nbBundles=0, jobExpired=false, pending=false, suspended=false]
2019-04-19 08:07:34,861 [DEBUG][JPPF-0007][org.jppf.server.nio.nodeserver.async.AsyncNodeMessageHandler.processResults(338)] updated stats for AsyncNodeContext[uuid=n2, peer=false, ssl=false, local=false, offline=false, maxJobs=1, jobEntries=0, sendQueue size=0, interestOps=1, executionStatus=EXECUTING]
2019-04-19 08:07:34,860 [WARN ][JPPF-0005][org.jppf.utils.DeleteFileVisitor.visitFile(82)] error trying to delete file 'persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\header.data': java.nio.file.NoSuchFileException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\header.data
2019-04-19 08:07:34,862 [WARN ][JPPF-0005][org.jppf.utils.DeleteFileVisitor.visitFile(82)] error trying to delete file 'persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-0.data': java.nio.file.NoSuchFileException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-0.data
2019-04-19 08:07:34,862 [WARN ][JPPF-0005][org.jppf.utils.DeleteFileVisitor.visitFile(82)] error trying to delete file 'persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-1.data': java.nio.file.NoSuchFileException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-1.data
2019-04-19 08:07:34,862 [WARN ][JPPF-0005][org.jppf.utils.DeleteFileVisitor.visitFile(82)] error trying to delete file 'persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-2.data': java.nio.file.NoSuchFileException: persistence\0282BA15-CE62-4C5D-AF33-5F92CFB2BB23\result-2.data
bug_report_tiny.png 07:08  Bug report JPPF-588 - Concurrent operations with DefaultFilePersistence job persistence result in exceptions
lolocohen : 'JPPF 6.1' added
April 14, 2019
enhancement_tiny.png 05:56  Enhancement JPPF-587 - Ability to create JPPFSchedule instances using java.time.* APIs
lolocohen : Issue created
The class [https://www.jppf.org/javadoc/6.2/index.html?org/jppf/scheduling/JPPFSchedule.html JPPFSchedule] is used to specify the start or expiration schedule of a job, as well as the expiration schedule of a task. It currently has 2 basic constructors, one that takes an epoch time in millis, the other that takes a string which represents a date, along with a SimpleDateFormat-compliant format to parse it.

We propose to extends this class to enable building JPPFSchedule objects based on the classes in java.time.*, such as ZOnedDateTime, Duration, etc.
enhancement_tiny.png 05:56  Enhancement JPPF-587 - Ability to create JPPFSchedule instances using java.time.* APIs
lolocohen : 'JPPF trunk' added
April 13, 2019
feature_request_tiny.png 20:19  Feature request JPPF-583 - Tasks dependencies within a job
lolocohen : Assignee changed: lolo4j
enhancement_tiny.png 20:19  Enhancement JPPF-586 - Cache of class/resource definitions in the client
lolocohen : Issue closed
enhancement_tiny.png 20:19  Enhancement JPPF-586 - Cache of class/resource definitions in the client
lolocohen : Status changed: New ⇒ Closed
March 28, 2019
icon_build.png 10:00 JPPF 6.1
New version released
November 24, 2018
icon_build.png 14:00 JPPF 6.0.1
New version released
icon_build.png 14:00 JPPF 5.2.10
New version released
icon_build.png 14:00 JPPF 5.1.7
New version released
October 06, 2018
icon_build.png 13:00 JPPF 6.0
New version released
August 04, 2018
icon_milestone.png 22:19 JPPF 5.2.9
A new milestone has been reached
August 01, 2018
icon_milestone.png 22:00 JPPF 4.0
A new milestone has been reached
July 21, 2018
icon_milestone.png 18:43 JPPF 5.2.2
A new milestone has been reached
icon_milestone.png 12:23 JPPF 5.2.5
A new milestone has been reached
icon_milestone.png 11:22 JPPF 5.2.1
A new milestone has been reached
icon_milestone.png 10:59 JPPF 2.5.5
A new milestone has been reached
icon_milestone.png 09:46 JPPF 5.2.7
A new milestone has been reached
icon_milestone.png 09:36 JPPF 4.1
A new milestone has been reached
icon_milestone.png 09:26 JPPF 5.2.3
A new milestone has been reached
icon_milestone.png 08:23 JPPF 5.2.6
A new milestone has been reached
icon_milestone.png 08:12 JPPF 5.2.4
A new milestone has been reached
icon_milestone.png 07:04 JPPF 5.2.8
A new milestone has been reached
icon_milestone.png 06:43 JPPF 4.2
A new milestone has been reached
July 18, 2018
icon_milestone.png 03:27 JPPF 5.2
A new milestone has been reached
Show moreaction_add_small.png