Dave,
We have a job configured..
<job id="transJob">
<step id="loadTransStg" parent="transStgLoad" next="delTransDelta"/>
<step id="delTransDelta" parent="deleteDeltaTrans" next="distTrans"/>...
Type: Posts; User: Nitty; Keyword(s):
Dave,
We have a job configured..
<job id="transJob">
<step id="loadTransStg" parent="transStgLoad" next="delTransDelta"/>
<step id="delTransDelta" parent="deleteDeltaTrans" next="distTrans"/>...
As mentioned in the thread http://forum.springsource.org/showthread.php?t=86587, you need to have retry both at the step/chunk level and a retry interceptor around the jobRepository.
I think you...
Yes it's related to previous thread and it may be due to the reason you mentioned.
Please find the job-config and the log (filtered by the error thread) attached.
Phew,, it worked !!
We tested it for over a week and didn't have any problems.
Thank you for all your help Dave - you rock!!
We are running 4 flows parallely in a split and occasionally the job fails on "Flow execution ended unexpectedly.." with underlying exception - "StepExecution can't already have an id assigned"....
This approach sounds good..
Not sure where to check this. :( (I see tx interceptor in the factory bean created when the object get initialized, since the retry interceptor is around the...
Thanks Dave,
How will the deadlocks on updates to stepExecution and stepExecutionContext be taken care in the AbstractStep before and after doExecute() (updating step startTime/STARTED,...
Dave,
Can you tell me if this configuration is right?
This is to include all the methods around the repository except for updateStepExecution (which is taken care in the step/chunk retry)
...
As per your previous suggestion, the retry configuration is in step/chunk ( as in reference guide - 5.1.6.)
I think the deadlock is occuring outside of step/chunk. (Eg -...
Dave,
The jobs continue to fail due to dealocks.
The deadlocks are happening outside of chunck after moving the retry to step/chunk.
It happens at various places
1. UPDATE...
This would work for the step which have chunks.
We have steps which are tasklets either invoking a storeproc and doing some other house keeping work.
How can we retry for these for a deadlock...
Sorry about that.
Having the interceptor over Step methods doesn't work - below is the configuration for that and the logs are attached in previous post
<aop:config>
<aop:pointcut...
Looks like the retry operation interceptor is not working.
As a test I explicitly threw an exception in the processor, based on the logs I don't see any retries
Please find the log attached.
Having it step retry may the workaround.
The failure would retry the entire step but it should start from where it left off from the last successful chunck commit..
Removed the retry config...
Sorry.. not sure I completly follow this.
Since the problem is around the control (repository) tables, I was thinking the retry should ideally be around the repository rather than the step/chunk...
Here's the log with debug on for retry..
Is there a easy way to test the retry on repository rather than wait for the event to happen ?
03:52:43,721 DEBUG SimpleAsyncTaskExecutor-119...
Spring Batch - 2.1.0.RC1
Here's the more detailed description of another instace of deadlock
12:34:30,170 DEBUG SimpleAsyncTaskExecutor-274 TaskletStep:393 - Saving step execution before commit: StepExecution:...
removed txAdvice and here's the full stacktrace..(everytime it happens at different control table)
08:42:51,363 ERROR main BatchController:129 - stack trace of the error...
Thanks dave,
I made the following change and now I get a UnexpectedRollbackException, may be the configuration is wrong - looks like its rolling back the transaction instead of a re-try..
...
Dave,
We did everything possible on the db side, it happens with row level lock too.
At any point of time several jobs access the same repository.
As we can configure retry's in application,...
I have a storedProcedure that takes two parameters and returns a resultSet (using sybase as db).
I followed the tutorial (6.9.1.3) and configured the sp reader as below
<b:bean...
Below is my job configuration, job repository isolation level is default - using sybase db.
<job id="myJob">
<split id="prodSplit" task-executor="taskExecutor" next="loadPosnDlyStg">
...
We have an internal standard where all our table/column names should be in lowercase
By default sybase is case sensitivite.
Spring batch queries are all upper case - if the batch control tables are created with lower case, batch fails to start up.
Is there a way to change the...