Uploaded image for project: 'Apache Trafodion (Retired)'
  1. Apache Trafodion (Retired)
  2. TRAFODION-3056

UPDATE STATISTICS fails with error 8838 when RMS is not running

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.3
    • 2.3
    • sql-cmp
    • None

    Description

      If RMS is not running, UPDATE STATISTICS fails with a warning 2024 + error 8838 as in the log below:

      >>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.
      >>

       

      Also, the tdm_arkcmp process cores. A sample stack trace is below:

      (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)

      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.

       

      Attachments

        Issue Links

          Activity

            People

              dbirdsall Dave Birdsall
              dbirdsall Dave Birdsall
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: