My Oracle Support Banner

"Current Service" psr output not reset to IDLE when several services called within a same service are over (Doc ID 1562617.1)

Last updated on MAY 19, 2020

Applies to:

Oracle Tuxedo - Version 11.1.1.2.0 and later
Information in this document applies to any platform.

Symptoms

Following code cinematic is executed :

 

Client pseudo-code
    Calling testServ1 service :
    tpcall (testServ1)
        Within testServ1
            Calling testServ2 service :
            tpcall (testServ2)
                Within testServ2 service :
                    Successfull service in an application code logic
                    tpreturn (TPSUCCESS)
            Calling testServ3 service :
            tpcall (testServ3)
                Within testServ3 service :
                    Successfull service in an application code logic
                    tpreturn (TPSUCCESS)
            For application code logic, a failure must be returned
            tpreturn (TPFAIL)
    Getting TPESVCFAIL error
End of client pseudo-code   

The service Service1 returns an application error TPFAIL and the client receives TPEFAIL error.

 

 

$ tmadmin -v
INFO: Oracle Tuxedo, Version 11.1.1.2.0, 64-bit, Patch Level 086
$ echo psr | tmadmin 2> /dev/null

Prog Name      Queue Name  Grp Name  ID RqDone Load Done Current Service
---------      ----------  --------  -- ------ --------- ---------------
BBL            112086      test11g+   0      0         0 (  IDLE )
test11gR1PS1_R 00001.00001 GROUP1     1      0         0 (  IDLE )
test11gR1PS1_R 00001.00002 GROUP1     2      0         0 (  IDLE )
test11gR1PS1_R 00001.00003 GROUP1     3      0         0 (  IDLE )
WSL            00001.00050 GROUP1    50      0         0 (  IDLE )

>
$ test11gR1PS1_RP086_client
tpcall failed: TPESVCFAIL - application level service failure
$ echo psr | tmadmin 2> /dev/null

Prog Name      Queue Name  Grp Name  ID RqDone Load Done Current Service
---------      ----------  --------  -- ------ --------- ---------------
BBL            112086      test11g+   0      0         0 (  IDLE )
test11gR1PS1_R 00001.00001 GROUP1     1      1        50 (  IDLE )
test11gR1PS1_R 00001.00002 GROUP1     2      0         0 testServ2
test11gR1PS1_R 00001.00003 GROUP1     3      0         0 testServ3
WSL            00001.00050 GROUP1    50      0         0 (  IDLE )

>
$

 

Instead of reporting testServ2 and testServ3, IDLE should be returned.

 

No problem if TPSUCCESS was returned by testServ1.

 

 

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.