GitHub user DaveBirdsall opened a pull request:

    https://github.com/apache/incubator-trafodion/pull/929

    [TRAFODION-2455] Add retry to row count estimation logic

    This set of changes does the following:
    
    1. Changes the stack from NATable::estimateHBaseRowCount on down to return 
detailed error information about any failure.
    2. Changes NATable::estimateHBaseRowCount to return a rowcount of 100 
million instead of zero when an error occurs. It is safer to overestimate the 
size of an object than to underestimate it.
    3. Changes UPDATE STATISTICS to give an error 9252 "Unable to get row count 
estimate: Error code $0int0, detail $1int1. Exception info (if any): 
$0~string0" when an error occurs in or underneath 
NATable::estimateHBaseRowCount instead of using a rowcount estimate of zero. 
The information in this message gives details such as what error path was 
taken, and any Java exception information that may be pertinent.
    4. Adds a retry loop to HBaseClient.java method estimateRowCount so that we 
retry if we encounter a FileNotFoundException. UPDATE STATISTICS will do up to 
4 minutes worth of accumulated retries; normal compilation will do up to 5 
seconds worth of accumulated retries. Wait times for retries start out at 2 
seconds, doubling until topping out at 30 seconds.
    5. Adds timestamps to messages in update statistics logging in local time. 
To get local time, I needed to fix a bug in the monitor (process.cxx) that was 
incorrectly setting an environment variable TZ to the empty string when TZ was 
not defined in the monitor itself.
    
    Note: The fix in process.cxx might (or might not!) fix a similar bug in DTM 
logging where local timestamps are desired but UTC timestamps are produced.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/DaveBirdsall/incubator-trafodion 
Trafodion2455x

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-trafodion/pull/929.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 #929
    
----
commit 932c219f0fd2a49e1c53a666a1dcbcb3578c4f91
Author: Dave Birdsall <[email protected]>
Date:   2017-01-19T20:10:33Z

    [TRAFODION-2440] Add retry to row count estimation logic

commit f1653636dd6d411fafe79697ee75c8763ff8edf2
Author: Dave Birdsall <[email protected]>
Date:   2017-01-24T00:09:08Z

    Comment change

commit dbc6c0876ca5af07b63d68f388bad07195d106a5
Author: Dave Birdsall <[email protected]>
Date:   2017-01-25T22:40:56Z

    [TRAFODION-2455] More refinements to row count estimation retry logic

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to