DSA follies
Posted in 1997
Hi. I've been fighting now for two months with a problem. I'm hoping
that somebody else has run into a similar problem and has a
workaround.
I have an ESQL/C program that declares a cursor with hold and then
performs an inner loop to do some updates to various other tables.
The problem is that beginning with a migration to an HP 9000 K420 with
4 CPUs, I find that the query on the outer hold cursor isn't being
parallelized, where it once was on the older Unisys PTX machine. The
HP has Informix 7.22.UC1, the Unisys 7.10.UC5. Frankly, this old
Unisys machine, several generations out of date (the 4 CPUs are 33
Mhz. Pentium chips, for example) is much faster on these types of
queries than the new HP. I have checked, and found that (a)
PDQPRIORITY is being set (verified via onstat -g mgm); (b) the
optimizer is allocating a correct number of threads for my query (in
this case, 5, again verified by onstat -g mgm), and finally, onsat -u
reports that there is (guess what?) only a single thread being
allocated for this query. On the old PTX box, once again, it
allocated sufficient threads, verified by the same onstat outputs as
shown here.
Support is now stating that this is not a bug, but a
feature...apparantly parallelizing a hold cursor is "too dangerous."
Besides, there is no version of DSA that permitted this to be
parallelized in such a fashion, according to them. When I pointed out
that the 7.10 on PTX did, it became "oh, then try setting your
isolation level to..." Been there, done that, no luck. Now I'm off
on yet another support engineer, but I get the impression that these
poor guys are having to toe the company line here without giving their
true feelings in the matter. John and Andy are both fine engineers,
and this is NOT a slam on them, but...I'm stuck in the middle.
Has anybody else run into this? I can reproduce at will on my HP, but
am tired of having to support two database machines for one
database...the production jobs overload the capacity of the HP (and
there aren't too many, folks!) so I have to run the two in sync. This
wouldn't be too bad, but Informix isn't paying for the upkeep of this
old box, and it is on its last legs with no maintenance support
available. Sigh.
Thanks,
David Coburn
Sr. DBA
World Vision