GitHub user traflm opened a pull request:
https://github.com/apache/trafodion/pull/1704
[TRAFODION-2952] large amount of data will cause error in sequence geâ¦
â¦nerating
Currently, the sequence next range value is NOT protected by DTM, but a
retry logic.
If multiple processes try to use the same sequence, when the cache is used,
all of them try to get the next range and go into race. So one may get a range
that another get. The logic is any one get the next range will check the
updated timestamp, if it is itself, then it is good for him. Otherwise, the
range is got by someone else. So the code wait and retry.
For the use case described in JIRA TRAFODION-2952, there are 48 partitioned
table and want to do a load of 4 billion rows. It is high concurrency, and many
times conflict.
The that large load, it is very frequent to fail, since the retry time is
hardcoded to 10.
This patch introduce a CQD to control the retry number. It is set to a
higher number by default, so in most cases, users don't need to modify this.
But if still run into issue, one can change the CQD.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/traflm/trafodion TRAFODION-2952
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafodion/pull/1704.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1704
----
commit 8958ce6aa28a96a15ed067dc49f556e0945165a6
Author: Liu Ming <ovis_poly@...>
Date: 2018-08-25T15:20:32Z
[TRAFODION-2952] large amount of data will cause error in sequence
generating
----
---