Is there any difference between asbman -i <name> -agen

Posted by dvoyat on 30-Mar-2017 10:09

Hi,

Found a similar discussion with Webspeed broker last year with no answer. We just had a db crash today and it's more than likely due to some kill -9 <pid> we did straight on a appserver agent running somekind of runaway transaction with temp-table and also filling some of our file system.

Looking at the procedure there was no lock at the time it happens but  most likely an issue such as bellow one part of some KB knowledgebase.progress.com/.../12541

"WARNING:  If the Agents are configured as shared-memory client connections, killing an agent / client that is holding a latch or lock may crash the database."
We're running 11.5 on a HPUx server, stateless appserver + DB shared mem.  
Was just wondering is there any subtle difference between kill -9 and -agentkill. Both seems sending SIGKILL signal to pid ? Is asbman checking anything prior firing SIGKILL or is -agentkill just a kill -9 wrapper ?
Thanks
Denis

Posted by Paul Koufalis on 30-Mar-2017 10:30

AFAIK neither asbman nor OpenEdge Management check anything before sending a SIGKILL. This is less than optimal for shared memory clients.

If you want a long, detailed technical explanation of how you should kill shared memory processes, read George Potemkin's amazing presentation "A Kosher Way to Kill Progress Sessions. Gently - aka The Secret Life of Latches". It is available here ftp.progress-tech.ru/.../SecretLifeOfLatches.pptx.

If you want a script that automates a good part of what George describes, contact me offline for my killprosession script.

Posted by dvoyat on 31-Mar-2017 02:22

Hi,

Thanks Paul & Gus for your comment.

Yes there's surely room for improvement as -agentkill remains definetely at risk under certain condition (same as kill -9).

I'm also assuming in a similar way preventing appserver for running runaway transaction using srvrExecutionTimeLimit in ubroker properties is unlikely to be effective should it always try to stop agent gracefully with the current method (most likely same -agentstop).

Will post a case in support and see what Progress will recommend.

Rgds

Denis

All Replies

Posted by Paul Koufalis on 30-Mar-2017 10:30

AFAIK neither asbman nor OpenEdge Management check anything before sending a SIGKILL. This is less than optimal for shared memory clients.

If you want a long, detailed technical explanation of how you should kill shared memory processes, read George Potemkin's amazing presentation "A Kosher Way to Kill Progress Sessions. Gently - aka The Secret Life of Latches". It is available here ftp.progress-tech.ru/.../SecretLifeOfLatches.pptx.

If you want a script that automates a good part of what George describes, contact me offline for my killprosession script.

Posted by gus bjorklund on 30-Mar-2017 19:54

> On Mar 30, 2017, at 11:10 AM, dvoyat wrote:

>

> WARNING: If the Agents are configured as shared-memory client connections, killing an agent / client that is holding a latch or lock may crash the database

you should call tech support and complain that this is NOT the correct way to kill an agent with asbman.

-gus

Posted by dvoyat on 31-Mar-2017 02:22

Hi,

Thanks Paul & Gus for your comment.

Yes there's surely room for improvement as -agentkill remains definetely at risk under certain condition (same as kill -9).

I'm also assuming in a similar way preventing appserver for running runaway transaction using srvrExecutionTimeLimit in ubroker properties is unlikely to be effective should it always try to stop agent gracefully with the current method (most likely same -agentstop).

Will post a case in support and see what Progress will recommend.

Rgds

Denis

This thread is closed