[omniORB] location forward to stale reference - strangeness

baileyk at schneider.com baileyk at schneider.com
Thu Mar 4 09:22:42 GMT 2004


I have a server which does location forwarding.  It sometimes forwards to a
stale reference and I don't understand the resulting behavior.  It appears
that the client reverts to the original profile and tries the call again,
which makes sense, but then the server appears to never receive the second
call.  The client then times out.  The server ORB later hangs when
attempting to shutdown.

Traces are below.  Two questions

1) Why do the traces show a second call to _non_existent() sent by the
client, and so matching input message on the server side?

2) What should happen?  If the server didn't lose the second try, and
continues to forward to the same stale reference, how many times should a
client retry?

I'm testing a CVS snapshot from sometime after the 4.0.3 release.

Thanks,
Kendall

Server trace:

omniORB: Server accepted connection from giop:tcp:161.222.3.156:59649
omniORB: giopWorker task execute.
omniORB: Accepted connection from giop:tcp:161.222.3.156:59649 because of
this rule: "* unix,ssl,tcp"
omniORB: inputMessage: from giop:tcp:161.222.3.156:59649 112 bytes
4749 4f50 0100 0000 0000 0064 0000 0000 GIOP.......d....
0000 0002 0100 0000 0000 0039 ff69 6d70 ...........9.imp
6c52 6570 6f00 673b 3b44 4556 2e65 6e76 lRepo.g;;DEV.env
2f71 3033 3830 382e 7072 742f 4952 4354 /q03808.prt/IRCT
2e73 7973 2f72 6174 696e 675f 6d67 722e .sys/rating_mgr.
7372 763b 3b00 0000 0000 000e 5f6e 6f6e srv;;......._non
5f65 7869 7374 656e 7400 322e 0000 0000 _existent.2.....
omniORB: Creating ref to remote: root/proc_mgr_poa
<.dev.rate.testA.rate.mgr>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:sni.prt.irct/IRCT_MANAGER/RCTRatingManagerI:1.0
omniORB: Creating Python ref to remote: root/proc_mgr_poa
<.dev.rate.testA.rate.mgr>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:sni.prt.irct/IRCT_MANAGER/RCTRatingManagerI:1.0
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef(IDL:sni.prt.irct/IRCT_MANAGER/RCTRatingManagerI:1.0) --
deleted.
omniORB: sendChunk: to giop:tcp:161.222.3.156:59649 167 bytes
4749 4f50 0100 0001 0000 009b 0000 0000 GIOP............
0000 0002 0000 0003 0000 0034 4944 4c3a ...........4IDL:
736e 692e 7072 742e 6972 6374 2f49 5243 sni.prt.irct/IRC
545f 4d41 4e41 4745 522f 5243 5452 6174 T_MANAGER/RCTRat
696e 674d 616e 6167 6572 493a 312e 3000 ingManagerI:1.0.
0000 0001 0000 0000 0000 004b 0001 0000 ...........K....
0000 000e 3136 312e 3232 322e 332e 3135 ....161.222.3.15
3600 a6a6 0000 002f ff70 726f 635f 6d67 6....../.proc_mg
725f 706f 61fe 4046 13a7 8264 0001 002f r_poa. at F...d.../
6465 762f 7261 7465 5f74 6573 7441 2f72 dev/rate_testA/r
6174 655f 6d67 72                       ate_mgr
omniORB: Scan for idle connections (1078411145,39394500)
omniORB: Scavenger reduce idle count for strand 327648 to 12
omniORB: Scavenger reduce idle count for strand 1440a0 to 27
omniORB: Scavenger reduce idle count for strand 357f40 to 35
omniORB: Scan for idle connections done (1078411145,39394500).


Client trace:

omniORB: Client opened connection to giop:tcp:161.222.3.156:2810
omniORB: sendChunk: to giop:tcp:161.222.3.156:2810 112 bytes
4749 4f50 0100 0000 0000 0064 0000 0000 GIOP.......d....
0000 0002 0100 0000 0000 0039 ff69 6d70 ...........9.imp
6c52 6570 6f00 673b 3b44 4556 2e65 6e76 lRepo.g;;DEV.env
2f71 3033 3830 382e 7072 742f 4952 4354 /q03808.prt/IRCT
2e73 7973 2f72 6174 696e 675f 6d67 722e .sys/rating_mgr.
7372 763b 3b00 0000 0000 000e 5f6e 6f6e srv;;......._non
5f65 7869 7374 656e 7400 322e 0000 0000 _existent.2.....
omniORB: inputMessage: from giop:tcp:161.222.3.156:2810 167 bytes
4749 4f50 0100 0001 0000 009b 0000 0000 GIOP............
0000 0002 0000 0003 0000 0034 4944 4c3a ...........4IDL:
736e 692e 7072 742e 6972 6374 2f49 5243 sni.prt.irct/IRC
545f 4d41 4e41 4745 522f 5243 5452 6174 T_MANAGER/RCTRat
696e 674d 616e 6167 6572 493a 312e 3000 ingManagerI:1.0.
0000 0001 0000 0000 0000 004b 0001 0000 ...........K....
0000 000e 3136 312e 3232 322e 332e 3135 ....161.222.3.15
3600 a6a6 0000 002f ff70 726f 635f 6d67 6....../.proc_mg
725f 706f 61fe 4046 13a7 8264 0001 002f r_poa. at F...d.../
6465 762f 7261 7465 5f74 6573 7441 2f72 dev/rate_testA/r
6174 655f 6d67 72                       ate_mgr
omniORB: Creating ref to remote: root/proc_mgr_poa
<.dev.rate.testA.rate.mgr>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:sni.prt.irct/IRCT_MANAGER/RCTRatingManagerI:1.0
omniORB: GIOP::LOCATION_FORWARD -- retry request.
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef(IDL:sni.prt.irct/IRCT_MANAGER/RCTRatingManagerI:1.0) --
deleted.
omniORB: throw giopStream::CommFailure from
giopStream.cc:1045(0,NO,TRANSIENT_ConnectFailed)
omniORB: Reverting object reference to original profile
omniORB: omniRemoteIdentity deleted.
omniORB: Invocation on a location forwarded object has failed. 0 retries.
omniORB: sendChunk: to giop:tcp:161.222.3.156:2810 112 bytes
4749 4f50 0100 0000 0000 0064 0000 0000 GIOP.......d....
0000 0004 0100 0000 0000 0039 ff69 6d70 ...........9.imp
6c52 6570 6f00 673b 3b44 4556 2e65 6e76 lRepo.g;;DEV.env
2f71 3033 3830 382e 7072 742f 4952 4354 /q03808.prt/IRCT
2e73 7973 2f72 6174 696e 675f 6d67 722e .sys/rating_mgr.
7372 763b 3b00 0000 0000 000e 5f6e 6f6e srv;;......._non
5f65 7869 7374 656e 7400 322e 0000 0000 _existent.2.....
omniORB: throw giopStream::CommFailure from
giopStream.cc:812(0,MAYBE,TRANSIENT_CallTimedout)
omniORB: Client connection refcount = 0
omniORB: Client close connection to giop:tcp:161.222.3.156:2810
omniORB: throw TRANSIENT from omniObjRef.cc:732
(MAYBE,TRANSIENT_CallTimedout)
omniORB: Scan for idle connections (1078411146,355522700)
omniORB: Scan for idle connections done (1078411146,355522700).







More information about the omniORB-list mailing list