[ 
https://issues.apache.org/jira/browse/TRAFODION-2821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16474493#comment-16474493
 ] 

ASF GitHub Bot commented on TRAFODION-2821:
-------------------------------------------

Github user DaveBirdsall commented on a diff in the pull request:

    https://github.com/apache/trafodion/pull/1562#discussion_r188031127
  
    --- Diff: core/sqf/src/tm/tmlib.cpp ---
    @@ -2817,35 +2833,44 @@ void TMLIB::initialize()
         // This call has been changed so that the node count includes spare 
nodes, so 
         // will give the wrong value for iv_node_count.
         msg_mon_get_node_info(&iv_node_count, MAX_NODES, NULL);
    -    is_initialized(true);
    +    iv_initialized = true;
         // We don't use gv_tmlib_initialized but set it here just to keep 
things aligned.
         gv_tmlib_initialized = true;
    +    initMutex_->unlock();
     }
     
    -
    -
     // -------------------------------------------------------------------
     // TMLIB::initJNI
     // Initialize JNI interface 
     // Only used on demand - if you do this in TMLIB::initialize
     // it gets called when it may not be used and conflicts with udrserv.
     // -------------------------------------------------------------------
    -void TMLIB::initJNI()
    +int TMLIB::initJNI()
     {
    -   int lv_err = 0;
    -   static bool ls_initialized = false;
    +    int lv_err = 0;
     
    -    //sleep(30);
    -    if (ls_initialized)
    -       return;
    -
    -    short lv_result = setupJNI();
    -    if (lv_result) {
    -        fprintf(stderr, "setupJNI returned error %d in TMLIB::initJNI. 
Exiting.\n", lv_result);
    -        fflush(stderr);
    -        abort();
    +    if ((lv_err = initJNIEnv()) != 0)
    +       return lv_err;
    +    if (isInitialized())
    +       return 0;
    +    _tlp_jenv->PopLocalFrame(NULL);
    --- End diff --
    
    Seems odd that we'd pop a frame here without having created anything on the 
local stack.


> Trafodion core code base needs to be thread safe 
> -------------------------------------------------
>
>                 Key: TRAFODION-2821
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2821
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: sql-general
>    Affects Versions: any
>            Reporter: Selvaganesan Govindarajan
>            Assignee: Selvaganesan Govindarajan
>            Priority: Major
>             Fix For: 2.3
>
>
> This is the covering trafodion jira to make trafodion core code base to be 
> thread safe. It is needed to ensure that type T2 JDBC driver hosted on 
> platform can be enabled to support multi-threaded JDBC applications.
> [TRAFODION-2783] is one such case.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to