
| Key: |
BATCH-76
|
| Type: |
New Feature
|
| Status: |
Resolved
|
| Resolution: |
Fixed
|
| Priority: |
Major
|
| Assignee: |
Dave Syer
|
| Reporter: |
Dave Syer
|
| Votes: |
0
|
| Watchers: |
1
|
|
If you were logged in you would be able to see more operations.
|
|
|
Spring Batch
Created: 03/Aug/07 05:12 AM
Updated: 06/Mar/08 06:58 AM
|
|
| Component/s: |
None
|
| Affects Version/s: |
1.0-m2
|
| Fix Version/s: |
1.0.0.rc1
|
|
|
Time Tracking:
|
|
Original Estimate:
|
0.25d
|
|
|
Remaining Estimate:
|
0.25d
|
|
|
Time Spent:
|
Not Specified
|
|
|
|
|
Issue Links:
|
Related
|
|
This issue is related to:
|
|
BATCH-194
Incorrect exception handling when using Hibernate
|
|
|
|
|
|
|
|
|
It is inefficient to emit updates one per item, but it is also a special case for JDBC that there is a batch update mechanism available. I think it might just be a specialised ItemProcessor.
There is a subtle issue with identifying failed items which is going to make things complicated. Eberhard had some experience with this already using a command pattern in the processing and then dividing the processing up so that the failed item can be identified by binary search (or other O(log(N)) algorithm).
[09:53:51] Eberhard Wolff says:
Say you have 1000 customers and you get a constraint violation at commit.
What you do is that you divide the 1000 in two packages of 500.
One will commit.
So the bad one is in the other.
And then you divide it again and again until you get the faulty one.
|
|
Description
|
It is inefficient to emit updates one per item, but it is also a special case for JDBC that there is a batch update mechanism available. I think it might just be a specialised ItemProcessor.
There is a subtle issue with identifying failed items which is going to make things complicated. Eberhard had some experience with this already using a command pattern in the processing and then dividing the processing up so that the failed item can be identified by binary search (or other O(log(N)) algorithm).
[09:53:51] Eberhard Wolff says:
Say you have 1000 customers and you get a constraint violation at commit.
What you do is that you divide the 1000 in two packages of 500.
One will commit.
So the bad one is in the other.
And then you divide it again and again until you get the faulty one. |
Show » |
|