RP/TUX 8.0/Solaris 8/TUX 9.1 - MIB requests with large returned buffer can block GWTDOMAIN for 15 seconds (Doc ID 775061.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo / Tuxedo / 8.0,9.1
Information in this document applies to any platform

Goal

DESCRIPTION:
configuration uses 3 domains AP1 <-> GWC <-> AP2
AP1 publishes 10000 remote services
in AP1 truss -D -o GWT.out -p <GWTDOMAIN pid>
In AP1, run the following MIB request
ud32 -C tpsysadm <<EOF!
SRVCNM    .TMIB
TA_OPERATION    GET
TA_CLASS    T_SVCGRP

EOF!
-> this will return 10000 occurrences

While the MIB requests is running in domain AP1, run a, AP1 client process in domain AP2
--> this waits for some seconds
If the client process is launched while the MIB requests is not running, it returns immediately

in the truss output of GWTDOMAIN, you can notice
semop(720973, 0xFFBED55E, 1)    (sleeping...)
signotifywait()                 (sleeping...)
lwp_cond_wait(0xFEE755C8, 0xFEE755D8, 0xFEE05BF0) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
14.6628 semop(720973, 0xFFBED55E, 1)                    = 0
--> This means the semop was blocked for 15 seconds

The machine I am using has 2 CPUs, so this is not a 100% CPU usage issue.

CONFIGURATION:
TUXEDO 8.0 RP237 Solaris 8

WORKAROUND:
do not use these MIB requests while awaiting the patch

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms