ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Ripken <r...@rmanet.com>
Subject Concurrent job execution and FifoQueueCollisionSpi.parallelJobsNumber=1
Date Thu, 03 Nov 2016 16:56:01 GMT
Can different nodes have different collisionSpi settings?  What setting 
would take effect - the collisionSpi used to start the grid or the 
setting on the node executing the job or the setting on the node that 
submitted the task?

I recently encountered a log file that could only have been generated if 
two jobs were executing on a node concurrently.  I have three nodes.  
Two are started via ignite.bat and configured with parallelJobsNumber=1.

Due to some recent changes the third node lost its collisionSpi 
configuration.  Notice in java code below that the collisionSpi on that 
node isn't specified.

The behavior I'm seeing suggests that it is the grid configuration on 
the node submitting the task that matters - is that the case?

Two nodes started with this:

<bean id="grid.cfg" 
         <property name="marshaller">
                 <property name="requireSerializable" value="false"/>

         <property name="collisionSpi">
                 <property name="parallelJobsNumber" value="1"/>
         <property name="metricsLogFrequency" value="0"/>

The third node starts and submits a task via something similar to:

try {
     IgniteConfiguration igniteConfig = new IgniteConfiguration();
     igniteConfig.setMarshaller(new OptimizedMarshaller());
     Ignite grid = Ignition.start(igniteConfig);
     ClusterGroup forRemotes = grid.cluster().forRemotes();
     MyComputeTask task = new MyComputeTask();
     IgniteCompute withAsync = grid.compute(forRemotes).withAsync();
     withAsync.execute(task, options);
     future = withAsync.future();
     Boolean retval1 = Boolean.FALSE;
     try {
         retval1 = future.get();
     } catch (IgniteException e) {
     retval = retval1;

} catch (IgniteException e) {
} finally {

View raw message