Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
A monitoring tool reported negative values from sysmaster because counters (e.g. bufreads) exceeded 2 billion, since sysmaster exposes them as 4-byte integers while the engine tracks larger values; the poster's workaround was periodic 'onstat -z'. Jonathan Leffler first said the counters are 8-byte in IDS 10, but another poster showed that on 10.00.TC3ET sysrstcb/syssesprof columns such as upf_bufreads are still INTEGER. Leffler conceded the correction and explained why (sysmaster schema isn't changed after initial release, plus INTEGER8's odd 10-byte internal representation). No fix is recorded beyond resetting counters.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
mweallans@panacea.co.uk wrote:
> I have recently encountered some interesting problems with my remote
> monitoring software. My software is heavily reliant on the sysmaster
> database and I have observed that many figures show up as negative in
> sysmaster because they are in fact >2billion. The reason is quite
> obvious - sysmaster uses a 4 byte integer whereas the internal values
> are held as 8 byte integers.
>
> Can anyone who has Version 10 runing reassure me that this problem is
> fixed in IDS version 10?
>
> I normally workaround this problem with a periodic onstat -z but on one
> site I have a bufread rate of > 2billion in an 8 hour period. And that
> messes up caching rate calculations etc.
That's quite a read rate...
Yes, the counters are 8-byte quantities in version 10.
--
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2005.02 -- http://dbi.perl.org/
david@smooth1.co.uk wrote:
> Well internally they are but on IDS 10.00.TC3ET.
>
> sysrstcb (counters for syssesprof) still has
>
> upf_bufreads integer,
>
> not an int8!
Yes - I misspoke. I was going to send out a correction, but I wanted to
get my ducks lined up, but you got them lined up quicker. Thanks.
I think I know why they weren't made into INTEGER8; in fact, I think I
can think of two reasons why that was the case, but only one of them
sort of counts. I do not like asymmetry, and this is a piece of wanton
asymmetry. Given the constraint that we do not change the schema of
sysmaster after the initial (UC1/FC1/TC1) release of the server, that is
one legitimate reason for not changing the sysmaster in a 9.40 fix pack;
I'm not so convinced about 10.00.UC1. The fact that IDS uses an oddball
10-byte structure rather than 8-byte integers to represent INTEGER8 is
the other, less acceptable reason. However, even that is barely an
excuse - the counters could be manipulated correctly if they were stored
as the 10-byte structures with only a little more work than if they were
actually 8-byte integers. Having said that, even a 'little more work'
in the main loops is not entirely desirable.
--
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2005.02 -- http://dbi.perl.org/
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.