DB2 - Problem description
| Problem IC77749 | Status: Closed |
DB2PD DURATION OUTPUT SHOWS 99 HOURS WHEN DURATION IS > 99 HRS | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
In PMR 59278,999,000, we (including customer, L2, and L3) were
confused with db2pd -runstats reporting a duration of 99 hours
when it was in fact longer. The start and stop timestamps are
actually provided as well, and after a while, it was evident
that we could look at the details and not rely on duration DB2
calculated as we progressed in problem determination.
The duration is currently specified as a hh:mm:ss format with 2
digts max for hours. To stop outputting incorrect diagnostic
data, we could relax the 2 digit max, or just print a "> 99
hours" string instead.
// Function to print duration in the format of hh:mm:ss
@w548255mif
void pdPrintDuration( FILE * fp, Uint32 durTime )
{
// Put a cap of maximum 99 hours.
if ( durTime <= 99*60*60 )
{
fprintf( fp, "%02u:%02u:%02u\n",
(durTime / (60*60)),
((durTime / 60) % 60),
(durTime % 60));
}
else
{
fprintf( fp, "%02d:%02u:%02u\n",
99,
((durTime / 60) % 60),
(durTime % 60));
}
} | |
| Problem Summary: | |
****************************************************************
* USERS AFFECTED: *
* All *
****************************************************************
* PROBLEM DESCRIPTION: *
* In PMR 59278,999,000, we (including customer, L2, and L3) *
* were *
* confused with db2pd -runstats reporting a duration of 99 *
* hours *
* when it was in fact longer. The start and stop timestamps *
* are *
* actually provided as well, and after a while, it was evident *
* *
* that we could look at the details and not rely on duration *
* DB2 *
* calculated as we progressed in problem determination. *
* *
* *
* *
* The duration is currently specified as a hh:mm:ss format *
* with 2 *
* digts max for hours. To stop outputting incorrect *
* diagnostic *
* data, we could relax the 2 digit max, or just print a "> 99 *
* *
* hours" string instead. *
* *
* *
* *
* // Function to print duration in the format of hh:mm:ss *
* *
* @w548255mif *
* *
* void pdPrintDuration( FILE * fp, Uint32 durTime ) *
* *
* { *
* *
* // Put a cap of maximum 99 hours. *
* *
* if ( durTime <= 99*60*60 ) *
* *
* { *
* *
* fprintf( fp, "%02u:%02u:%02u\n", *
* *
* (durTime / (60*60)), *
* *
* ((durTime / 60) % 60), *
* *
* (durTime % 60)); *
* *
* } *
* *
* else *
* *
* { *
* *
* fprintf( fp, "%02d:%02u:%02u\n", *
* *
* 99, *
* *
* ((durTime / 60) % 60), *
* *
* (durTime % 60)); *
* *
* } *
* *
* } *
****************************************************************
* RECOMMENDATION: *
* Upgrade to next fixpack *
**************************************************************** | |
| Local Fix: | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
| Solution | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 26.07.2011 12.12.2011 12.12.2011 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.5 |
|