Hi Franky,
Our prob was different, a big bit of SQL was failing with
'consistency check' when really it was running out of
opf_memory. Ingres Corp looked at our config.dat and
made the recommendation that the stack_size be increased,
and said it should be a multiple of 65...
We were running Ing 2.6 patch 9xxx on AIX 5.2
WRT your prob, can anyone else run the usermod?
Is there any activity in the Ingres sort work area?
What does IPM think the session is doing?
Steve
> Hi Steve,
>
[quoted text clipped - 7 lines]
>
> Franky
Karl & Betty Schendel - 21 Sep 2006 14:13 GMT
>Hi Franky,
>Our prob was different, a big bit of SQL was failing with
>'consistency check' when really it was running out of
>opf_memory. Ingres Corp looked at our config.dat and
>made the recommendation that the stack_size be increased,
>and said it should be a multiple of 65...
The stack_size value is internally rounded up to a multiple of
Ingres's "memory page size" , which is typically 4 or 8 K (and
has little or nothing to do with any OS or architectural page
size). I can't think of any benefit that rounding the stack
size to a larger multiple might have. I'm inclined to think
that the multiple of 64K thing is a bit of escaped superstition.
Karl
Chip Nickolett - 21 Sep 2006 18:54 GMT
> >Hi Franky,
> >Our prob was different, a big bit of SQL was failing with
[quoted text clipped - 11 lines]
>
> Karl
I agree. I had hoped to jump into the code and find the true answer
but haven't had a chance to yet. I would think that it could be found
during initial memory allocation - and would expect to see what Karl
mentioned WRT rounding. The same thing is done with HASH tables and
elsewhere, so I would really doubt that there would be problems using
something that is not a multiple of 64K. The product is just too good
to let something that simple break it.
Chip
Paul Andrews - 21 Sep 2006 19:29 GMT
----- Original Message -----
Subject: [Info-ingres] Re: stack_size 65536 in multiples ?
Err.. is it a big deal to just use a setting which is a 64K multiple?
whether it's needed or not?
As I recall, all that ingres does with this is to allocate a memory block
large enough to accomodate all the session stacks. Each session is set up
with it's stack pointer set to the correct position with the memory block.
The only proviso I can remember (I haven't looked at this code for 12 years
or so) is that the start of each stack must be situated on a word boundary
and the code always makes sure the stacks are set correctly.
If it were a big deal we'd probably have heard more about this years ago..
Paul
franky.leeuwerck@gmail.com - 22 Sep 2006 08:18 GMT
Steve,
I'd rather not introduce a new topic in this thread,
but I can tell you a little more on the underlying problem.
This happens when running the usermod :
- the usermod starts executing the modify part on all tables but when
it comes at the largest table (btree, many indexes) it starts taking
all cpu (2) resources
- at that time, the usermod stays in that situation (looping ?) using
up all CPU and nobody can start a new session (starvation of iigcn?),
even ipm hangs at the entry screen.
The only thing for me to do is stopping the DBMS and restart.
The funny thing is, when I afterwards drop the indexes of that table, I
can run an individual modify on it finishing in a minute or 4. (Haven't
tried it with indexes on yet).
Anyway, Ingres is still looking at the issue.
Thanks and regards,
Franky