T.R | Title | User | Personal Name | Date | Lines |
---|
1411.1 | | VAXCPU::michaud | Jeff Michaud - ObjectBroker | Tue May 27 1997 13:50 | 5 |
| Which platform(s) are you seeing the error on?
> We are using Objectbroker V2.7.
Which BL? (is it V2.7-11?)
|
1411.2 | BL 2.7-10 | GRANPA::DGRANT | | Tue May 27 1997 14:29 | 4 |
| Platform: Windows NT V3.51
BL: Objectbroker V2.7-10
Thanks for the quick response.
|
1411.3 | | RECV::SLAVIN | | Tue May 27 1997 14:37 | 13 |
| Have you tried using the network tester that comes with OBB. This
would tell you if the 2 nodes are communicating.
The question about restarting the server and allowing the client to
continue to run depends on how you wrote your client. ObjectBroker
does not retry the client request automatically in this case.
- The client needs to detect the server shutdown - a timeout or other
mechanism can be used.
- The client needs to retry the operation. This would mean doing a new
invocation, as the server could restart on a different socket or
channel than the one used in the original request.
|
1411.4 | | RECV::SLAVIN | | Tue May 27 1997 14:40 | 6 |
| Also,
There are problems autostarting servers on NT. These are corrected in
OBB V3.0 -- the name service is a regular server.
MAS
|
1411.5 | Only on server restart | GRANPA::DGRANT | | Tue May 27 1997 15:54 | 16 |
| We have no problem communicating to the server and are able to process
requests. The only problem is in "reconnecting" to the server once it
has been restarted.
We realize that the client request must be retried but it is on this
retry we get the initial "OBB_INV_TRANSERR". Any subsequent retries of
the request also fail with the same error. It seems as though the
client is not releasing the socket and seems to be trying to access the
"new" server on the same socket. How can we get the client to release
the socket? We've tried CORBA_object_release and CORBA::release but
neither release the socket.
BTW, we are going through the name resolution and object reference
resolution before each client request as described in the initial note.
Thanks.
|
1411.6 | | RECV::BOWER | Peter Bower, ObjectBroker | Tue May 27 1997 16:24 | 13 |
|
Most likely, you are not releasing an object reference.
CosNaming_NamingContext_resolve returns a C object reference. After the
call to CORBA_ORB_object_to_string, the C object reference should
be released via CORBA_Object_release.
CORBA::ORB::string_to_object creates a C++ object reference. After the
call to narrow, it should be released via CORBA::release.
The narrow returns a specific interface C++ object reference. After the
invoke, it should be released via CORBA::release
|
1411.7 | It worked!! | GRANPA::DGRANT | | Wed May 28 1997 12:16 | 17 |
| Its working!! Thanks for your help.
We added the CORBA_Object_release for the C Object reference for the
CosNaming_NamingContext_resolve after the call to
CORBA_ORB_obect_to_string and for the string from
CORBA_ORB_object_to_string after the CORBA::DEC_ORB->string_to_object.
We also added the CORBA::release for the C++ Object reference after the
_narrow for the object reference returned from the
CORBA::DEC_ORB->string_to_object call.
We could not perform a CORBA::release after the invocation since it
would cause an acc vio on the return from the method.
Thanks again for all of your help and prompt responses.
Debbie Grant
|