JPPF Issue Tracker
JPPF (jppf)
September 17, 2019
enhancement_tiny.png 07:32  Enhancement JPPF-604 - Various performance improvements
lolocohen : Issue closed
enhancement_tiny.png 07:32  Enhancement JPPF-604 - Various performance improvements
lolocohen : Status changed: New ⇒ Closed
enhancement_tiny.png 07:32  Enhancement JPPF-604 - Various performance improvements
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
enhancement_tiny.png 07:32  Enhancement JPPF-604 - Various performance improvements
lolocohen : lolo4j ⇒ Not being worked on
September 15, 2019
enhancement_tiny.png 07:13  Enhancement JPPF-604 - Various performance improvements
lolocohen : Assignee changed: lolo4j
enhancement_tiny.png 07:12  Enhancement JPPF-604 - Various performance improvements
lolocohen : 'JPPF trunk' added
enhancement_tiny.png 07:12  Enhancement JPPF-604 - Various performance improvements
lolocohen : 'JPPF 6.1.1' added
enhancement_tiny.png 07:12  Enhancement JPPF-604 - Various performance improvements
lolocohen : Issue created
We have noted several areas that can be improved preformance-wise, including:

* as shown by profiling drivers and nodes, polling of the default [https://www.jppf.org/doc/6.0/index.php?title=Monitoring_data_providers monitoring data provider] incurs an excessive CPU usage due to the use of com.sun.management.OperatingSystemMXBean for system and process CPU usage
* computation of the persistence identifier for the load-balancer state of each connection is also time-consuming, due to using methods for the discovery of the system's network interfaces and IP addresses. This computation is performed unconditionally, but can be avoided when load-balancer persistence si disabled
* the class [https://github.com/jppf-grid/JPPF/blob/master/common/src/java/org/jppf/utils/NetworkUtils.java NetworkUtils], which discovers the local system's network interfaces and IP addresses, can be improved by caching the IP addresses of the system, and discovering them once and for all at class loading time (static initializer)
enhancement_tiny.png 07:12  Enhancement JPPF-604 - Various performance improvements
lolocohen : 'JPPF 6.0.3' added
September 11, 2019
icon_milestone.png 15:23 JPPF 6.1.1
A new milestone has been reached
September 09, 2019
bug_report_tiny.png 07:14  Bug report JPPF-603 - Slave nodes leak
lolocohen : Issue closed
bug_report_tiny.png 07:14  Bug report JPPF-603 - Slave nodes leak
lolocohen : Status changed: New ⇒ Closed
bug_report_tiny.png 07:14  Bug report JPPF-603 - Slave nodes leak
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
bug_report_tiny.png 07:14  Bug report JPPF-603 - Slave nodes leak
lolocohen : lolo4j ⇒ Not being worked on
bug_report_tiny.png 06:56  Bug report JPPF-603 - Slave nodes leak
lolocohen : Assignee changed: lolo4j
bug_report_tiny.png 06:56  Bug report JPPF-603 - Slave nodes leak
lolocohen : Issue created
When a driver is restarted (via JMX), for each master nodes attached to it, the slave nodes are not terminated. We end up with slave nodes that are no longer attached to a master node.
bug_report_tiny.png 06:56  Bug report JPPF-603 - Slave nodes leak
lolocohen : 'JPPF 6.1.1' added
September 05, 2019
icon_milestone.png 02:43 JPPF 5.0
A new milestone has been reached
August 24, 2019
bug_report_tiny.png 23:25  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : Issue closed
bug_report_tiny.png 23:25  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : Status changed: New ⇒ Closed
bug_report_tiny.png 23:25  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
bug_report_tiny.png 23:25  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : lolo4j ⇒ Not being worked on
bug_report_tiny.png 23:17  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : 'JPPF 6.1.1' removed
bug_report_tiny.png 23:17  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : 'JPPF trunk' removed
bug_report_tiny.png 22:07  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : 'JPPF 6.1.1' added
bug_report_tiny.png 22:04  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : 'JPPF trunk' added
bug_report_tiny.png 22:03  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : 'JPPF 6.0' added
feature_request_tiny.png 21:49  Feature request JPPF-600 - DSL for complex job selectors
lolocohen : Issue closed
feature_request_tiny.png 21:49  Feature request JPPF-600 - DSL for complex job selectors
lolocohen : Status changed: New ⇒ Closed
feature_request_tiny.png 21:49  Feature request JPPF-600 - DSL for complex job selectors
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
feature_request_tiny.png 21:49  Feature request JPPF-600 - DSL for complex job selectors
lolocohen : lolo4j ⇒ Not being worked on
August 23, 2019
bug_report_tiny.png 01:35  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : Title updated
bug_report_tiny.png 01:28  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : Assignee changed: lolo4j
bug_report_tiny.png 01:27  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : Issue created
From [https://www.jppf.org/forums/index.php/topic,8063.0.html this forums thread].

The constrcutor for org.jppf.execute.AbstractExecutionManager is as follows:
public AbstractExecutionManager(final JPPFProperty nbThreadsProperty) {
taskNotificationDispatcher = new TaskExecutionDispatcher(getClass().getClassLoader());
int poolSize = JPPFConfiguration.get(nbThreadsProperty);
if (poolSize <= 0) poolSize = Runtime.getRuntime().availableProcessors();
JPPFConfiguration.set(nbThreadsProperty, poolSize);
log.info("running " + poolSize + " processing thread" + (poolSize > 1 ? "s" : ""));
threadManager = createThreadManager(poolSize);
}
The problem here is in the statement "poolSize = JPPFConfiguration.get(nbThreadsProperty);", which uses the global configuration instead of the config for the JPPF component (client or node) which initializes the execution manger.

Instead, the constructor should have the following signature:
public AbstractExecutionManager(TypedProperties config, final JPPFProperty nbThreadsProperty) { ... }
bug_report_tiny.png 01:27  Bug report JPPF-602 - AbstractExecutionManager uses the wrong configuration to initialize
lolocohen : 'JPPF 6.0.3' added
August 21, 2019
enhancement_tiny.png 07:03  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : Issue closed
enhancement_tiny.png 07:03  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : Status changed: New ⇒ Closed
enhancement_tiny.png 07:03  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : Resolution changed: Not determined ⇒ RESOLVED
August 18, 2019
enhancement_tiny.png 06:51  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : 'JPPF trunk' added
enhancement_tiny.png 06:51  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : 'JPPF 6.1.1' added
enhancement_tiny.png 06:49  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : Issue created
We propose to add an API to obtain information about the jobs queued in a JPPFClient instance, for instance:
public class JPPFClient extends AbstractGenericClient {
// get the list of currently queued jobs
public List getQueuedJobs();

// get a list of currently queued jobs, filtered by a JobSelector
public List getQueuedJobs(JobSelector selector);

// get the current number of queued jobs
public int getQueuedJobsCount();

// get the current number of jobs that satisfy a job selector
public int getQueuedJobsCount(JobSelector selector);
}
enhancement_tiny.png 06:49  Enhancement JPPF-601 - Add a client API to list the queued jobs in a JPPF client
lolocohen : 'JPPF 6.0.3' added
July 23, 2019
icon_milestone.png 17:28 JPPF 5.2.10
A new milestone has been reached
July 19, 2019
icon_milestone.png 02:42 JPPF 6.1
A new milestone has been reached
icon_milestone.png 00:54 JPPF 6.0.1
A new milestone has been reached
July 14, 2019
icon_milestone.png 18:12 JPPF 4.0
A new milestone has been reached
July 08, 2019
icon_milestone.png 17:57 JPPF 2.5.5
A new milestone has been reached
icon_milestone.png 04:52 JPPF 6.0.3
A new milestone has been reached
July 02, 2019
icon_milestone.png 09:33 JPPF 3.3
A new milestone has been reached
May 01, 2019
icon_build.png 10:00 JPPF 6.0.3
New version released
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
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 09:46 JPPF 5.2.7
A new milestone has been reached
Show moreaction_add_small.png