Closed smillidge closed 9 years ago
It could be the test in the sample is incorrect. The count is 1 on GlassFish 4.1 with the old JBatch 1.0
Steve,
Thanks for opening this.
Actually I noticed this among other issues in a detailed writeup of this sample here: https://github.com/javaee-samples/javaee7-samples/issues/281
I suggested loosening the assertion. Roberto is asking if the spec should be tightened to pin down the behavior here. I'm still thinking about it, but I imagine he might not want to change the sample until the spec question is resolved.. so we might remain in this state for a bit.
Thanks no problem I didn't see the samples issue
The JBatch JavaEE 7 chunk exception sample now fails its tests on a current build of JBatch. https://github.com/javaee-samples/javaee7-samples/tree/master/batch/chunk-exception
The process skip count is coming up with the value 2 rather than the expected 1.
Debugging within Payara shows that the count is incremented twice with the following relevant stacks showing the traces to the point where the count is updated.
"concurrent/__defaultManagedExecutorService-managedThreadFactory-Thread-12" com.ibm.jbatch.container.impl.ChunkStepControllerImpl.processItem(ChunkStepControllerImpl.java:411) com.ibm.jbatch.container.impl.ChunkStepControllerImpl.readAndProcess(ChunkStepControllerImpl.java:247) com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeChunk(ChunkStepControllerImpl.java:600) com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeCoreStep(ChunkStepControllerImpl.java:744) com.ibm.jbatch.container.impl.BaseStepControllerImpl.execute(BaseStepControllerImpl.java:144) com.ibm.jbatch.container.impl.ExecutionTransitioner.doExecutionLoop(ExecutionTransitioner.java:112) com.ibm.jbatch.container.impl.JobThreadRootControllerImpl.originateExecutionOnThread(JobThreadRootControllerImpl.java:110) com.ibm.jbatch.container.util.BatchWorkUnit.run(BatchWorkUnit.java:80) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) java.util.concurrent.FutureTask.run(FutureTask.java:262) org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:141) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744) org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
"concurrent/__defaultManagedExecutorService-managedThreadFactory-Thread-12" com.ibm.jbatch.container.impl.ChunkStepControllerImpl.processItem(ChunkStepControllerImpl.java:420) com.ibm.jbatch.container.impl.ChunkStepControllerImpl.readAndProcess(ChunkStepControllerImpl.java:247) com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeChunk(ChunkStepControllerImpl.java:600) com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeCoreStep(ChunkStepControllerImpl.java:744) com.ibm.jbatch.container.impl.BaseStepControllerImpl.execute(BaseStepControllerImpl.java:144) com.ibm.jbatch.container.impl.ExecutionTransitioner.doExecutionLoop(ExecutionTransitioner.java:112) com.ibm.jbatch.container.impl.JobThreadRootControllerImpl.originateExecutionOnThread(JobThreadRootControllerImpl.java:110) com.ibm.jbatch.container.util.BatchWorkUnit.run(BatchWorkUnit.java:80) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) java.util.concurrent.FutureTask.run(FutureTask.java:262) org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:141) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744) org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)