GitHub user selvaganesang opened a pull request:

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

    [TRAFODION-2783] jdbc_test_cdh fails at times with type 2 JDBC driver…

    … dumping core
    
    In case of Type 2 JDBC driver, the Trafodion SQL engine is a library that 
is dynamic
    loaded into the process. Initialization of C++ static objects in the 
dynamic loaded libraries
    are supposed to be done before dlopen returns. But the behavior seems to be 
nondeterministic when
    there are multiple threads or when there are dependent static objects (An 
static object expects
    another to be initialized before it). I think, the order of the 
initialization is not guaranteed
    by the standard.
    
    Refactored the code to initialize static object 
CharInfo::builtinCollationDB_ as part of the first
    CLI call in a thread safe manner.

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

    $ git pull https://github.com/selvaganesang/incubator-trafodion 
static_variable

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

    https://github.com/apache/incubator-trafodion/pull/1277.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 #1277
    
----
commit 9a8a7c39fecff583d2988c76fb443620ee64df24
Author: selvaganesang <selva.govindara...@esgyn.com>
Date:   2017-10-26T04:47:16Z

    [TRAFODION-2783] jdbc_test_cdh fails at times with type 2 JDBC driver 
dumping core
    
    In case of Type 2 JDBC driver, the Trafodion SQL engine is a library that 
is dynamic
    loaded into the process. Initialization of C++ static objects in the 
dynamic loaded libraries
    are supposed to be done before dlopen returns. But the behavior seems to be 
nondeterministic when
    there are multiple threads or when there are dependent static objects (An 
static object expects
    another to be initialized before it). I think, the order of the 
initialization is not guaranteed
    by the standard.
    
    Refactored the code to initialize static object 
CharInfo::builtinCollationDB_ as part of the first
    CLI call in a thread safe manner.

----


---

Reply via email to