spring-projects / spring-projects/spring-batch

Set INITRANS in Oracle schema creation script to support default SERIALIZABLE JobRepository [BATCH-1328]

Open
#2,252 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

in: documentation related-to: ddl-scripts status: waiting-for-triage type: enhancement
Dominant language
Java
Stars
3k
Forks
2.5k
Avg merge
6d 53m
Merged PRs (30d)
3

Description

Ian Brandt opened BATCH-1328 and commented

See the referenced forum post. Per http://forum.springsource.org/showpost.php?p=249913&postcount=7 an INITRANS value of at least 3 is required for transactions with SERIALIZABLE isolation level. As that is the default isolation level for SimpleJobRepository as created by AbstractJobRepositoryFactoryBean it would be nice to have a minimal INITRANS set in the sample schema creation script. Especially since I just discovered you can hit an exception even with the SyncTaskExecutor when running jobs in rapid succession.

I'd be happy to submit a patch for this in the near future, but I notice the source for 'spring-batch-core/src/main/resources/schema-oracle10g.sql' says, "-- Autogenerated: do not edit this file". Any pointers on where the source of that source is would help grease the process, or is it something someone is maintaining outside of VC? A quick search for *.sql yielded no clues. Thanks.


Affects: 2.0.1

Reference URL: http://forum.springsource.org/showthread.php?p=249913

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with spring-batch-core/src/main/resources/schema-oracle10g.sql and trace the generation source, since the file says it is autogenerated. Review AbstractJobRepositoryFactoryBean’s default SERIALIZABLE isolation and the linked forum report. Done means the Oracle schema creation path sets INITRANS to at least 3 and the generated script reflects it.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, sql
Domain
database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.