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

----


---

Reply via email to