Archived

This forum has been archived. Please start a new discussion on GitHub.

Timeout on proxies to allocatable objects over glacier2

Hi,

What I would like to accomplish is using short timeouts for synchronous calls, and longer timeouts for asynchronous calls (AMI),
but I've been struggling with setting the timeout value on a proxy.


The setup is the following:

Icegrid / Glacier2 / Session activated objects

Clients need to allocate a remote object, by doing this, a proxy is returned which they can use now.
So far, so good... But when I try to set a different timeout value and use the new proxy, I immediately get this message:

TcpTransceiver.cpp:221: Ice::ConnectionLostException:
connection lost: recv() returned zero

  Ice::ObjectPrx prx__ = my_session_->allocateObjectByType("my.service");

  //the next line causes the problem
  prx__ = prx__->ice_timeout(5000); 

  MyServicePrx proxy__ = MyServicePrx::checkedCast(prx__);

  proxy__->test();

Ice properties:
  Ice.Override.Timeout = <not set>   //when using any other value, the result is always the same
  Ice.MonitorConnections = 60
  Ice.RetryIntervals = -1  //must be -1 when using glacier2
  Ice.ACM.Client = 0       //must be 0 when using glacier2

Any ideas on what I'm doing wrong?

I've tested this on Debian Linux 6.0 with Ice 3.4.2 (also tried the older version Ice 3.3.1)

Thanks in advance!

Comments