Master Executor reporting error 8605
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Trafodion |
In Progress
|
High
|
Arvind Narain |
Bug Description
We are seeing this error message streaming during the order entry benchmark.
2015-01-17 11:25:49,116, ERROR, SQL, Node Number: 0, CPU: 0, PIN: 63243, Process Name: $Z001GLY, SQLCODE: 8605, QID: MXID11000063243
00000000206U333
2015-01-17 11:25:50,667, ERROR, SQL, Node Number: 0, CPU: 0, PIN: 63243, Process Name: $Z001GLY, SQLCODE: 8605, QID: MXID11000063243
00000000206U333
2015-01-17 11:26:17,823, ERROR, SQL, Node Number: 0, CPU: 0, PIN: 63243, Process Name: $Z001GLY, SQLCODE: 8605, QID: MXID11000063243
00000000206U333
The counts are prolific. The master above shows every couple of seconds.
master_
master_
master_
master_
master_
master_
master_
master_
master_
master_
master_
master_
master_
master_
The only place where the error occurs is when commitTransaction is called and there isn’t an xnInProgress.
executor/
exp/ExpErrorEnu
short ExTransaction:
{
dp2Xns_ = FALSE;
if (! xnInProgress())
{
// Set the transaDiagsArea.
// This is the first error. So reset the diags area.
if (transDiagsArea_)
{
}
ExRaiseSq
return -1;
}
It must have something to do with inherited transactions. inheritTransaction is the only place where we set XnInProgress_ to false. The order entry does not use ESPs so there is no reason to have an inherited transaction.
Guy has shown the problem with a simple test case.
First scenario:
- I’m going to do a prepare/exec without using transactions.
/home/squser2> trafci.sh
Welcome to Trafodion Command Interface
Copyright(C) 2013-2014 Hewlett-Packard Development Company, L.P.
User Name: squser2
Host Name/IP Address: n001:21000
Password:
Connected to Trafodion
SQL>set schema mxoltp;
--- SQL operation complete.
SQL>prepare cmd from select [first 10]* from tbl500;
*** WARNING[6008] Statistics for column (CNT) from table TRAFODION.
--- SQL command prepared.
SQL>execute cmd;
CNT COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL10
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- -------
3 1 2 0 4 5 6 7 AAAAAAAAAAAAAAA
…
176 1 2 1 4 5 6 7 AAAAAAAAAAAAAAA
--- 10 row(s) selected.
SQL>exit
/home/squser2>
Here’s the master_exec_ log.
/opt/hp/
2015-01-20 19:26:52,591, INFO, SQL, Node Number: 0, CPU: 6, PIN: 63946, Process Name: $Z061H71, SQLCODE: 6008, QID: MXID11006063946
^C
/opt/hp/
Second Scenario :
- I’m going to do a prepare and do the exec within a transactions.
/home/squser2> trafci.sh
Welcome to Trafodion Command Interface
Copyright(C) 2013-2014 Hewlett-Packard Development Company, L.P.
User Name: squser2
Host Name/IP Address: n001:21000
Password:
Connected to Trafodion
SQL>set schema mxoltp;
--- SQL operation complete.
SQL>prepare cmd from select [first 10]* from tbl500;
*** WARNING[6008] Statistics for column (CNT) from table TRAFODION.
--- SQL command prepared.
SQL>begin work;
--- SQL operation complete.
SQL>execute cmd;
CNT COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL10
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- -------
3 1 2 0 4 5 6 7 AAAAAAAAAAAAAAA
…
176 1 2 1 4 5 6 7 AAAAAAAAAAAAAAA
--- 10 row(s) selected.
SQL>commit work;
--- SQL operation complete.
SQL>exit
/home/squser2>
Here’s the master_exec_ log.
2015-01-20 19:35:04,011, INFO, SQL, Node Number: 0, CPU: 4, PIN: 2006, Process Name: $Z0401MB, SQLCODE: 6008, QID: MXID11004002006
2015-01-20 19:36:25,843, INFO, SQL.ESP, Node Number: 0, CPU: 4, PIN: 21984, Process Name: $Z040HY4,,, An ESP process is launched.
2015-01-20 19:36:38,979, ERROR, SQL, Node Number: 0, CPU: 4, PIN: 2006, Process Name: $Z0401MB, SQLCODE: 8609, QID: MXID11004002006
Notice in my second scenario here, an ESP is started. Why?????
And the 8609 msg shows up.
Changed in trafodion: | |
assignee: | Selvaganesan Govindarajan (selva-ganesan) → Sandhya Sundaresan (sandhya-sundaresan) |
status: | New → In Progress |
Changed in trafodion: | |
milestone: | r1.1 → r1.2 |
tags: |
added: sql-exe removed: executor |
tags: | added: dtm |
To answer the last question: "Notice in my second scenario here, an ESP is started. Why?????"
The query being issued is:
prepare cmd from select [first 10]* from tbl500;
This is not a unique or oltp query and will be scanning the table without any key or scan predicates.
Parallel execution using esps may be chosen.
An explain will show what the plan looks like.
Not yet clear on why the other error 8609 is being returned since this is a non-transactional query.
Could be that a transaction state is leftover from a previous query. We have seen some issues with
transaction state not being handled correctly in ESPs. Selva has looked at it.
Maybe he can comment.