DB2 - Problem description
| Problem IT03582 | Status: Closed |
APPL_ID VALUE IN CONNMEMUSE_ EVENT MONITOR TABLE HAS EXTRA GARBAGE CHARACTER AT END ON LITTLE-ENDIAN PLATFORMS (LINUX) | |
| product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
| Problem description: | |
On little-endian platforms (such as linux),
the APPL_ID column value of the CONNMEMUSE_<evmon> event
monitor table will have an 1 extra garbage character at the end.
This garbage character will usually not be visible if you look
at the APPL_ID column values, but can be observed if you look at
the length of the APPL_ID column values.
For example,
---if you create an arbitrary event monitor that includes the
CONNMEMUSE:
create event monitor MYEVMON1 for connections write to table
CONNHEADER ( table SP.CONNHEADER_CONN_TO_TABLE in
UTIL_TSP001 pctdeactivate 100 ),
CONN ( table SP.CONN_CONN_TO_TABLE in
UTIL_TSP001 pctdeactivate 100 ),
CONTROL ( table SP.CONTROL_CONN_TO_TABLE in
UTIL_TSP001 pctdeactivate 100 ),
CONNMEMUSE ( table SP.CONNMEMUSE_CONN_TO_TABLE in
UTIL_TSP001 pctdeactivate 100 )
autostart
;
SET EVENT MONITOR CONN_TO_TABLE STATE 1;
---and populate the various tables using some arbitrary
workload:
CREATE TABLE GARABGE1 (C1 INT);
CREATE TABLE GARBAGE2 (C1 INT);
DROP TABLE GARBAGE1;
DROP TABLE GARBAGE2;
FLUSH EVENT MONITOR MYEVMON1;
--- If you try to join the APPL_ID value from CONNMEMUSE_ to the
control table CONN_, this command incorrectly does not find any
matches:
select * from SP.CONNMEMUSE_MYEVMON1 where APPL_ID in
(select APPL_ID from
SP.CONN_MYEVMON1) ;
--- However, if you try the same join, but removing the last
character from the APPL_ID value from CONNMEMUSE, this command
successfully returns matches:
select * from SP.CONNMEMUSE_MYEVMON1 where substr(APPL_ID,1,
length(APPL_ID)-1) in
(select APPL_ID from
SP.CONN_MYEVMON1); | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users using Little Endian platform are affected by this * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to v101fp5 or higher to resolve this * **************************************************************** | |
| Local Fix: | |
As a temporary work-around, you can subtract 1-byte from the
APPL_ID, like so:
select * from SP.CONNMEMUSE_MYEVMON1 where substr(APPL_ID,1,
length(APPL_ID)-1) in
(select APPL_ID from
SP.CONN_MYEVMON1);
This work-around will break after the APAR fix has been applied. | |
| Solution | |
Upgrade to v101fp5 or higher to resolve this | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 05.08.2014 13.07.2015 13.07.2015 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.1.0.5 |
|