K.D.Welast at t-online.de ()
2006-09-29 17:50:31 UTC
Hello,
we have Problems to connecting our failsafe naming service for the CORBA
Application build with omniORB.
The failsafe naming service is implemented with VisiBroker 5.4 (the
trace below is from the VisiBroker 7.0 test environment) in master slave
configuration and run on different Platforms.
We use an IOR with two Profiles or an URI with corbaloc like in the
example below to connect the naming service.
Both server responses a LOCATION_FORWARD reply with an IOR, where the
master server is in the first profile and the slave in the second.
If the master server is online all connects are perfect.
But if the master is down, omniORB application can?t connect to the
slave server, because the slave response is the LOCATION_FORWARD reply
to the master server.
omniORB tries to connect the master again and doesn?t switch back to the
slave server,? after receiving connect failed from the master.
The problem not occurs with Applications build with VisiBroker and
ORBACUS (version 4.0) tested with there?naming service?utility.
Is this behaviour, response an LOCATION_FORWARD reply, specific to
VisiBroker or is it?a rrequirement?of the CORBA specification?
Is this a bug in omniORB?
Is there any Solution for that problem?
Best regards
Klaus Dieter Welast
Command line:
nameclt -ORBInitRef
NameService=corbaloc::164.23.185.14:2809,:164.23.131.250:2809/NameService
-ORBtraceLevel 40 list
Trace with level 40
omniORB: Distribution date: Fri Jan 13 13:47:35 GMT 2006 dgrisby
omniORB: My addresses are:
omniORB: 164.23.185.14
omniORB: 127.0.0.1
omniORB: Maximum supported GIOP version is 1.2
omniORB: Native char code sets: UTF-8 ISO-8859-1.
omniORB: Transmission char code sets: UTF-8(1.2) UTF-8(1.1)
ISO-8859-1(1.2) ISO-8859-1(1.1) ISO-8859-1(1.0).
omniORB: Native wide char code sets: UTF-16.
omniORB: Transmission wide char code sets: UTF-16(1.2).
omniORB: Information: the omniDynamic library is not linked.
omniORB: Current configuration is as follows:
omniORB:?? DefaultInitRef (file) =
omniORB:?? DefaultInitRef (args) =
omniORB:?? InitRef =
NameService=corbaloc::164.23.185.14:2809,:164.23.131.250:2809/NameService
omniORB:?? abortOnInternalError = 0
omniORB:?? abortOnNativeException = 0
omniORB:?? acceptBiDirectionalGIOP = 0
omniORB:?? acceptMisalignedTcIndirections = 0
omniORB:?? bootstrapAgentHostname =
omniORB:?? bootstrapAgentPort = 900
omniORB:?? clientCallTimeOutPeriod = 0
omniORB:?? clientTransportRule = * unix,ssl,tcp
omniORB:?? configFile = [none]
omniORB:?? connectionWatchImmediate = 0
omniORB:?? connectionWatchPeriod = 50000
omniORB:?? diiThrowsSysExceptions = 0
omniORB:?? dumpConfiguration = 0
omniORB:?? endPoint = giop:tcp::
omniORB:?? endPointPublishAllIFs = 0
omniORB:?? giopMaxMsgSize = 2097152
omniORB:?? giopTargetAddressMode = KeyAddr
omniORB:?? id = omniORB4
omniORB:?? inConScanPeriod = 180
omniORB:?? lcdMode = 0
omniORB:?? maxGIOPConnectionPerServer = 5
omniORB:?? maxGIOPVersion = 1.2
omniORB:?? maxInterleavedCallsPerConnection = 5
omniORB:?? maxServerThreadPerConnection = 100
omniORB:?? maxServerThreadPoolSize = 100
omniORB:?? maxSocketRecv = 131072
omniORB:?? maxSocketSend = 131072
omniORB:?? nativeCharCodeSet = ISO-8859-1
omniORB:?? nativeWCharCodeSet = UTF-16
omniORB:?? objectTableSize = 0
omniORB:?? offerBiDirectionalGIOP = 0
omniORB:?? omniORB_27_CompatibleAnyExtraction = 0
omniORB:?? oneCallPerConnection = 1
omniORB:?? outConScanPeriod = 120
omniORB:?? poaHoldRequestTimeout = 0
omniORB:?? poaUniquePersistentSystemIds = 1
omniORB:?? principal = [Null]
omniORB:?? scanGranularity = 5
omniORB:?? serverCallTimeOutPeriod = 0
omniORB:?? serverTransportRule = * unix,ssl,tcp
omniORB:?? strictIIOP = 0
omniORB:?? supportBootstrapAgent = 0
omniORB:?? supportCurrent = 1
omniORB:?? supportPerThreadTimeOut = 0
omniORB:?? tcAliasExpand = 0
omniORB:?? threadPerConnectionLowerLimit = 9000
omniORB:?? threadPerConnectionPolicy = 1
omniORB:?? threadPerConnectionUpperLimit = 10000
omniORB:?? threadPoolWatchConnection = 1
omniORB:?? traceExceptions = 1
omniORB:?? traceFile = [stderr]
omniORB:?? traceInvocations = 0
omniORB:?? traceLevel = 40
omniORB:?? traceThreadId = 0
omniORB:?? unixTransportDirectory = /tmp/omni-%u
omniORB:?? unixTransportPermission =? 777
omniORB:?? useTypeCodeIndirections = 1
omniORB:?? verifyObjectExistsAndType = 1
omniORB: Creating ref to remote: key<NameService> target id????? :
IDL:omg.org/CORBA/Object:1.0 most derived id:
omniORB: Initial reference `NameService' resolved from -ORBInitRef
argument / ORB registration.
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 1
omniORB: Scavenger task execute.
omniORB: Switch rope to use address giop:tcp:164.23.131.250:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Client attempt to connect to giop:tcp:164.23.131.250:2809
omniORB: Client opened connection to giop:tcp:164.23.131.250:2809
omniORB: sendChunk: to giop:tcp:164.23.131.250:2809 100 bytes
omniORB:
4749 4f50 0100 0100 5800 0000 0000 0000 GIOP....X.......
0200 0000 010a 6f6d 0b00 0000 4e61 6d65 ......om....Name
5365 7276 6963 6574 0600 0000 5f69 735f Servicet...._is_
6100 696c 0000 0000 2800 0000 4944 4c3a a.il....(...IDL:
6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
672f 4e61 6d69 6e67 436f 6e74 6578 743a g/NamingContext:
312e 3000?????????????????????????????? 1.0.
omniORB: inputMessage: from giop:tcp:164.23.131.250:2809 368 bytes
omniORB:
4749 4f50 0100 0101 6401 0000 0000 0000 GIOP....d.......
0200 0000 0300 0000 2b00 0000 4944 4c3a ........+...IDL:
6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
672f 4e61 6d69 6e67 436f 6e74 6578 7445 g/NamingContextE
7874 3a31 2e30 0079 0200 0000 0000 0000 xt:1.0.y........
8800 0000 0001 0200 0000 000e 3136 342e ............164.
3233 2e31 3835 2e31 3400 0af9 0000 0025 23.185.14......%
0050 4d43 0000 0004 0000 0013 2f43 4f4e .PMC......../CON
5445 5854 5f50 4f41 4d61 7374 6572 0020 TEXT_POAMaster.
0000 0001 3200 0000 0000 0003 5649 5303 ....2.......VIS.
0000 0005 0007 0801 ff00 0000 0000 0000 ................
0000 0008 0000 0000 5649 5300 0000 0001 ........VIS.....
0000 0018 0000 0000 0001 0001 0000 0001 ................
0501 0001 0001 0109 0000 0000 0000 0000 ................
8c00 0000 0001 0200 0000 000f 3136 342e ............164.
3233 2e31 3331 2e32 3530 0000 0af9 0000 23.131.250......
0000 0025 0050 4d43 0000 0004 0000 0013 ...%.PMC........
2f43 4f4e 5445 5854 5f50 4f41 4d61 7374 /CONTEXT_POAMast
6572 0020 0000 0001 3200 0000 0000 0003 er. ....2.......
5649 5303 0000 0005 0007 0801 ff00 0000 VIS.............
0000 0000 0000 0008 0000 0000 5649 5300 ............VIS.
0000 0001 0000 0018 0000 0000 0001 0001 ................
0000 0001 0501 0001 0001 0109 0000 0000 ................
omniORB: Creating ref to remote:
key<.PMC.........CONTEXT.POAMaster......2>
?target id????? : IDL:omg.org/CORBA/Object:1.0
?most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
omniORB: GIOP::LOCATION_FORWARD -- retry request.
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0) -- deleted.
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: Switch rope to use address giop:tcp:164.23.185.14:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: Switch rope to use address giop:tcp:164.23.185.14:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
etc
PS
Same result by test with omniORB 4.1 beta
we have Problems to connecting our failsafe naming service for the CORBA
Application build with omniORB.
The failsafe naming service is implemented with VisiBroker 5.4 (the
trace below is from the VisiBroker 7.0 test environment) in master slave
configuration and run on different Platforms.
We use an IOR with two Profiles or an URI with corbaloc like in the
example below to connect the naming service.
Both server responses a LOCATION_FORWARD reply with an IOR, where the
master server is in the first profile and the slave in the second.
If the master server is online all connects are perfect.
But if the master is down, omniORB application can?t connect to the
slave server, because the slave response is the LOCATION_FORWARD reply
to the master server.
omniORB tries to connect the master again and doesn?t switch back to the
slave server,? after receiving connect failed from the master.
The problem not occurs with Applications build with VisiBroker and
ORBACUS (version 4.0) tested with there?naming service?utility.
Is this behaviour, response an LOCATION_FORWARD reply, specific to
VisiBroker or is it?a rrequirement?of the CORBA specification?
Is this a bug in omniORB?
Is there any Solution for that problem?
Best regards
Klaus Dieter Welast
Command line:
nameclt -ORBInitRef
NameService=corbaloc::164.23.185.14:2809,:164.23.131.250:2809/NameService
-ORBtraceLevel 40 list
Trace with level 40
omniORB: Distribution date: Fri Jan 13 13:47:35 GMT 2006 dgrisby
omniORB: My addresses are:
omniORB: 164.23.185.14
omniORB: 127.0.0.1
omniORB: Maximum supported GIOP version is 1.2
omniORB: Native char code sets: UTF-8 ISO-8859-1.
omniORB: Transmission char code sets: UTF-8(1.2) UTF-8(1.1)
ISO-8859-1(1.2) ISO-8859-1(1.1) ISO-8859-1(1.0).
omniORB: Native wide char code sets: UTF-16.
omniORB: Transmission wide char code sets: UTF-16(1.2).
omniORB: Information: the omniDynamic library is not linked.
omniORB: Current configuration is as follows:
omniORB:?? DefaultInitRef (file) =
omniORB:?? DefaultInitRef (args) =
omniORB:?? InitRef =
NameService=corbaloc::164.23.185.14:2809,:164.23.131.250:2809/NameService
omniORB:?? abortOnInternalError = 0
omniORB:?? abortOnNativeException = 0
omniORB:?? acceptBiDirectionalGIOP = 0
omniORB:?? acceptMisalignedTcIndirections = 0
omniORB:?? bootstrapAgentHostname =
omniORB:?? bootstrapAgentPort = 900
omniORB:?? clientCallTimeOutPeriod = 0
omniORB:?? clientTransportRule = * unix,ssl,tcp
omniORB:?? configFile = [none]
omniORB:?? connectionWatchImmediate = 0
omniORB:?? connectionWatchPeriod = 50000
omniORB:?? diiThrowsSysExceptions = 0
omniORB:?? dumpConfiguration = 0
omniORB:?? endPoint = giop:tcp::
omniORB:?? endPointPublishAllIFs = 0
omniORB:?? giopMaxMsgSize = 2097152
omniORB:?? giopTargetAddressMode = KeyAddr
omniORB:?? id = omniORB4
omniORB:?? inConScanPeriod = 180
omniORB:?? lcdMode = 0
omniORB:?? maxGIOPConnectionPerServer = 5
omniORB:?? maxGIOPVersion = 1.2
omniORB:?? maxInterleavedCallsPerConnection = 5
omniORB:?? maxServerThreadPerConnection = 100
omniORB:?? maxServerThreadPoolSize = 100
omniORB:?? maxSocketRecv = 131072
omniORB:?? maxSocketSend = 131072
omniORB:?? nativeCharCodeSet = ISO-8859-1
omniORB:?? nativeWCharCodeSet = UTF-16
omniORB:?? objectTableSize = 0
omniORB:?? offerBiDirectionalGIOP = 0
omniORB:?? omniORB_27_CompatibleAnyExtraction = 0
omniORB:?? oneCallPerConnection = 1
omniORB:?? outConScanPeriod = 120
omniORB:?? poaHoldRequestTimeout = 0
omniORB:?? poaUniquePersistentSystemIds = 1
omniORB:?? principal = [Null]
omniORB:?? scanGranularity = 5
omniORB:?? serverCallTimeOutPeriod = 0
omniORB:?? serverTransportRule = * unix,ssl,tcp
omniORB:?? strictIIOP = 0
omniORB:?? supportBootstrapAgent = 0
omniORB:?? supportCurrent = 1
omniORB:?? supportPerThreadTimeOut = 0
omniORB:?? tcAliasExpand = 0
omniORB:?? threadPerConnectionLowerLimit = 9000
omniORB:?? threadPerConnectionPolicy = 1
omniORB:?? threadPerConnectionUpperLimit = 10000
omniORB:?? threadPoolWatchConnection = 1
omniORB:?? traceExceptions = 1
omniORB:?? traceFile = [stderr]
omniORB:?? traceInvocations = 0
omniORB:?? traceLevel = 40
omniORB:?? traceThreadId = 0
omniORB:?? unixTransportDirectory = /tmp/omni-%u
omniORB:?? unixTransportPermission =? 777
omniORB:?? useTypeCodeIndirections = 1
omniORB:?? verifyObjectExistsAndType = 1
omniORB: Creating ref to remote: key<NameService> target id????? :
IDL:omg.org/CORBA/Object:1.0 most derived id:
omniORB: Initial reference `NameService' resolved from -ORBInitRef
argument / ORB registration.
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 1
omniORB: Scavenger task execute.
omniORB: Switch rope to use address giop:tcp:164.23.131.250:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Client attempt to connect to giop:tcp:164.23.131.250:2809
omniORB: Client opened connection to giop:tcp:164.23.131.250:2809
omniORB: sendChunk: to giop:tcp:164.23.131.250:2809 100 bytes
omniORB:
4749 4f50 0100 0100 5800 0000 0000 0000 GIOP....X.......
0200 0000 010a 6f6d 0b00 0000 4e61 6d65 ......om....Name
5365 7276 6963 6574 0600 0000 5f69 735f Servicet...._is_
6100 696c 0000 0000 2800 0000 4944 4c3a a.il....(...IDL:
6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
672f 4e61 6d69 6e67 436f 6e74 6578 743a g/NamingContext:
312e 3000?????????????????????????????? 1.0.
omniORB: inputMessage: from giop:tcp:164.23.131.250:2809 368 bytes
omniORB:
4749 4f50 0100 0101 6401 0000 0000 0000 GIOP....d.......
0200 0000 0300 0000 2b00 0000 4944 4c3a ........+...IDL:
6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
672f 4e61 6d69 6e67 436f 6e74 6578 7445 g/NamingContextE
7874 3a31 2e30 0079 0200 0000 0000 0000 xt:1.0.y........
8800 0000 0001 0200 0000 000e 3136 342e ............164.
3233 2e31 3835 2e31 3400 0af9 0000 0025 23.185.14......%
0050 4d43 0000 0004 0000 0013 2f43 4f4e .PMC......../CON
5445 5854 5f50 4f41 4d61 7374 6572 0020 TEXT_POAMaster.
0000 0001 3200 0000 0000 0003 5649 5303 ....2.......VIS.
0000 0005 0007 0801 ff00 0000 0000 0000 ................
0000 0008 0000 0000 5649 5300 0000 0001 ........VIS.....
0000 0018 0000 0000 0001 0001 0000 0001 ................
0501 0001 0001 0109 0000 0000 0000 0000 ................
8c00 0000 0001 0200 0000 000f 3136 342e ............164.
3233 2e31 3331 2e32 3530 0000 0af9 0000 23.131.250......
0000 0025 0050 4d43 0000 0004 0000 0013 ...%.PMC........
2f43 4f4e 5445 5854 5f50 4f41 4d61 7374 /CONTEXT_POAMast
6572 0020 0000 0001 3200 0000 0000 0003 er. ....2.......
5649 5303 0000 0005 0007 0801 ff00 0000 VIS.............
0000 0000 0000 0008 0000 0000 5649 5300 ............VIS.
0000 0001 0000 0018 0000 0000 0001 0001 ................
0000 0001 0501 0001 0001 0109 0000 0000 ................
omniORB: Creating ref to remote:
key<.PMC.........CONTEXT.POAMaster......2>
?target id????? : IDL:omg.org/CORBA/Object:1.0
?most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
omniORB: GIOP::LOCATION_FORWARD -- retry request.
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0) -- deleted.
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: Switch rope to use address giop:tcp:164.23.185.14:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
omniORB: Switch rope to use address giop:tcp:164.23.185.14:2809
omniORB: throw giopStream::CommFailure from
giopStream.cc:1077(1,NO,TRANSIENT_ConnectFailed)
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:164.23.185.14:2809
etc
PS
Same result by test with omniORB 4.1 beta