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

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

GitHub user DaveBirdsall opened a pull request:

    https://github.com/apache/trafodion/pull/1551

    [TRAFODION-3056] Change UPDATE STATISTICS to tolerate absence of RMS

    When RMS is absent, UPDATE STATISTICS either fails with an internal error 
9200 or cores.
    
    This set of changes adds code to UPDATE STATISTICS so that it will ignore 
any 2024 warnings returned by the Executor due to RMS being absent.

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

    $ git pull https://github.com/DaveBirdsall/trafodion Ustat2024Problem

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

    https://github.com/apache/trafodion/pull/1551.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 #1551
    
----
commit 5f887e71acd810371f77a71086c69536d1adb462
Author: Dave Birdsall <dave.birdsall@...>
Date:   2018-05-02T23:11:02Z

    [MANTIS 7502] Make UPDATE STATISTICS tolerate RMS failures (2024 warnings)
    (cherry picked from commit 41e83a86468889e8595de900d2deb850fda559f2)

commit 12b89700650a9170f2dac5c4d25a7f0077812ffe
Author: Dave Birdsall <dbirdsall@...>
Date:   2018-05-07T20:12:37Z

    [TRAFODION-3056] Make UPDATE STATS tolerate the absence of RMS

----


> UPDATE STATISTICS fails with error 8838 when RMS is not running
> ---------------------------------------------------------------
>
>                 Key: TRAFODION-3056
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-3056
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-cmp
>    Affects Versions: 2.3
>            Reporter: David Wayne Birdsall
>            Assignee: David Wayne Birdsall
>            Priority: Minor
>
> If RMS is not running, UPDATE STATISTICS fails with a warning 2024 + error 
> 8838 as in the log below:
> {quote}>>update statistics for table t1 on every column;
> *** WARNING[2024] Server Process $ZSM0 is not running or could not be 
> created. O
> perating System Error 14 was returned.
> *** ERROR[8838] Unable to receive reply from Compiler, possibly caused by 
> intern
> al errors when compiling SQL statements, processing DDL statements, or 
> executing
>  the builtin stored procedures.
> --- SQL operation failed with errors.
> >>
> {quote}
>  
> Also, the tdm_arkcmp process cores. A sample stack trace is below:
> {quote}(gdb) bt
> #0 0x00007f7a3d0ce495 in raise () from /lib64/libc.so.6
> #1 0x00007f7a3d0cfc75 in abort () from /lib64/libc.so.6
> #2 0x00007f7a403ef935 in ?? ()
>  from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
> #3 0x00007f7a40568fdf in ?? ()
>  from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
> #4 0x00007f7a403f47c2 in JVM_handle_linux_signal ()
>  from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
> #5 <signal handler called>
> #6 0x00007f7a47218e29 in tupp::release (this=0x7f7a481c7c68)
>  at ../exp/ExpSqlTupp.h:285
> #7 0x00007f7a42d27c94 in atp_struct::release (this=0x7f7a481c7c38)
>  at ../exp/ExpAtp.h:303
> #8 0x00007f7a42da5486 in ex_queue::deallocateAtps (this=0x7f7a481c7ab8)
>  at ../executor/ex_queue.cpp:416
> #9 0x00007f7a42da4ae0 in ex_queue::~ex_queue (this=0x7f7a481c7ab8, 
>  __in_chrg=<value optimized out>) at ../executor/ex_queue.cpp:115
> #10 0x00007f7a42da4b50 in ex_queue::~ex_queue (this=0x7f7a481c7ab8, 
>  __in_chrg=<value optimized out>) at ../executor/ex_queue.cpp:118
> #11 0x00007f7a42dd146f in ExSortTcb::freeResources (this=0x7f7a481c77e0)
>  at ../executor/ex_sort.cpp:529
> #12 0x00007f7a42dd0ccd in ExSortTcb::~ExSortTcb (this=0x7f7a481c77e0, 
> ---Type <return> to continue, or q <return> to quit--- 
>  __in_chrg=<value optimized out>) at ../executor/ex_sort.cpp:470
> #13 0x00007f7a42dd0e28 in ExSortTcb::~ExSortTcb (this=0x7f7a481c77e0, 
>  __in_chrg=<value optimized out>) at ../executor/ex_sort.cpp:478
> #14 0x00007f7a42d67588 in ex_globals::cleanupTcbs (this=0x7f7a481c4348)
>  at ../executor/ex_globals.cpp:193
> #15 0x00007f7a42d673f3 in ex_globals::deleteMe (this=0x7f7a481c4348, 
>  fatalError=0) at ../executor/ex_globals.cpp:136
> #16 0x00007f7a42d43688 in ExExeStmtGlobals::deleteMe (this=0x7f7a481c4348, 
>  fatalError=0) at ../executor/ex_exe_stmt_globals.cpp:321
> #17 0x00007f7a42d440e5 in ExMasterStmtGlobals::deleteMe (this=0x7f7a481c4348, 
>  fatalError=0) at ../executor/ex_exe_stmt_globals.cpp:671
> #18 0x00007f7a42dabeb2 in ex_root_tcb::deallocAndDelete (this=0x7f7a481c7e38, 
>  glob=0x7f7a481c4348, fragTable=0x7f7a481c61d8)
>  at ../executor/ex_root.cpp:2324
> #19 0x00007f7a4756e5e3 in Statement::releaseTcbs (this=0x7f7a481bc140, 
>  closeAllOpens=0) at ../cli/Statement.cpp:4308
> #20 0x00007f7a4756e7a4 in Statement::dealloc (this=0x7f7a481bc140, 
>  closeAllOpens=0) at ../cli/Statement.cpp:4356
> #21 0x00007f7a47564110 in Statement::~Statement (this=0x7f7a481bc140, 
>  __in_chrg=<value optimized out>) at ../cli/Statement.cpp:549
> #22 0x00007f7a47564bca in Statement::~Statement (this=0x7f7a481bc140, 
>  __in_chrg=<value optimized out>) at ../cli/Statement.cpp:716
> ---Type <return> to continue, or q <return> to quit--- 
> #23 0x00007f7a475173bc in ContextCli::deallocStmt (this=0x7f7a48218cd0, 
>  statement_id=0x7f7a2743b740, deallocStaticStmt=0)
>  at ../cli/Context.cpp:1113
> #24 0x00007f7a474e24d1 in SQLCLI_DeallocStmt (cliGlobals=0x1f6e9e0, 
>  statement_id=0x7f7a2743b740) at ../cli/Cli.cpp:1416
> #25 0x00007f7a47581278 in SQL_EXEC_DeallocStmt (statement_id=0x7f7a2743b740)
>  at ../cli/CliExtern.cpp:1611
> #26 0x00007f7a45a17d19 in HSCursor::~HSCursor (this=0x7ffce370e260, 
>  __in_chrg=<value optimized out>) at ../ustat/hs_cli.cpp:2660
> #27 0x00007f7a45a25f97 in printPlan (stmt=0x7f7a2743d650)
>  at ../ustat/hs_cli.cpp:5800
> #28 0x00007f7a45a1a63e in HSCursor::prepare (this=0x7ffce370e660, clistr=
>  0x3087828 "SELECT COUNT(*) FROM TRAFODION.SEABASE.T1 FOR READ UNCOMMITTED 
> ACCESS", outDescEntries=1) at ../ustat/hs_cli.cpp:3029
> #29 0x00007f7a45a1de33 in HSCursor::fetchNumColumn (this=0x7ffce370e660, 
>  clistr=
>  0x3087828 "SELECT COUNT(*) FROM TRAFODION.SEABASE.T1 FOR READ UNCOMMITTED 
> ACCESS", pSmallValue=0x0, pLargeValue=0x7ffce370eb50) at 
> ../ustat/hs_cli.cpp:3674
> #30 0x00007f7a45a5afeb in HSGlobalsClass::Initialize (this=0x7ffce370ead0)
>  at ../ustat/hs_globals.cpp:3369
> #31 0x00007f7a45af1038 in UpdateStats (input=
>  0x7f7a274531b8 "update statistics for table t1 on every column;", 
> ---Type <return> to continue, or q <return> to quit--- 
>  requestedByCompiler=0) at ../ustat/hs_update.cpp:424
> #32 0x00007f7a434d0936 in CmpStatement::process (this=0x7f7a27449db8, 
>  statement=...) at ../arkcmp/CmpStatement.cpp:754
> #33 0x00007f7a434b6399 in ExCmpMessage::actOnReceive (this=0x7ffce3710be0)
>  at ../arkcmp/CmpConnection.cpp:394
> #34 0x00007f7a46d77419 in IpcMessageStream::internalActOnReceive (this=
>  0x7ffce3710be0, buffer=0x3206540, connection=0x1f98fd0)
>  at ../common/Ipc.cpp:3504
> #35 0x00007f7a46d7533f in IpcMessageBuffer::callReceiveCallback (this=
>  0x3206540, conn=0x1f98fd0) at ../common/Ipc.cpp:2378
> #36 0x00007f7a46d8f4aa in GuaConnectionToClient::acceptBuffer 
> (this=0x1f98fd0, 
>  buffer=0x3206540, receivedDataLength=408) at ../common/IpcGuardian.cpp:2326
> #37 0x00007f7a46d90ef3 in GuaReceiveControlConnection::wait (this=0x1f88cb0, 
>  timeout=-1, eventConsumed=0x0, ipcAwaitiox=0x0)
>  at ../common/IpcGuardian.cpp:3020
> #38 0x00007f7a46d8e8c8 in GuaConnectionToClient::wait (this=0x1f98fd0, 
> timeout=
>  -1, eventConsumed=0x0, ipcAwaitiox=0x0) at ../common/IpcGuardian.cpp:2001
> #39 0x00007f7a46d737d1 in IpcSetOfConnections::waitOnSet 
> (this=0x7ffce3710d80, 
>  timeout=-1, calledByESP=0, timedout=0x0) at ../common/Ipc.cpp:1666
> #40 0x00007f7a46d76a5f in IpcMessageStream::waitOnMsgStream (this=
>  0x7ffce3710be0, timeout=-1) at ../common/Ipc.cpp:3223
> #41 0x00007f7a46d769cd in IpcMessageStream::receive (this=0x7ffce3710be0, 
> ---Type <return> to continue, or q <return> to quit--- 
>  waited=1) at ../common/Ipc.cpp:3205
> #42 0x0000000000408184 in main (argc=2, argv=0x7ffce3711378)
>  at ../bin/arkcmp.cpp:290
> (gdb)
> {quote}
> To reproduce, bring up a development Trafodion instance and create a table 
> with a little data in it. Then in the sql/scripts directory, execute the 
> "rmsstop" script to stop RMS. (Note: You can restart it again later if you 
> wish using "rmsstart".) Then, while RMS is stopped, issue an UPDATE 
> STATISTICS statement.
>  



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

Reply via email to