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

Timeout on proxies to allocatable objects over glacier2


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__);


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!