Task #2485 (new)
Opened 14 years ago
Last modified 11 years ago
Mage/4064 refuses outside connections — at Version 5
Reported by: | jamoore | Owned by: | jamoore |
---|---|---|---|
Priority: | critical | Milestone: | OMERO-Beta4.2 |
Component: | Deployment | Version: | n.a. |
Keywords: | n.a. | Cc: | omero-team@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | 2010-06-10 (11) |
Description (last modified by jmoore)
The exception thrown is ConnectTimeoutException which occurs as soon as Blitz attempts to access the proxy (e.g. prx.ice_id()).
This is due to missing bidirectional communication configuration in both the client and the server. Chapter 38 of the ZeroC manual explains both how to do this and its limitations.
The primary limitation for our usage is that the "fixed proxies" which get created are only of use in process. Since OMERO clients don't connect directly to IceStorm via Glacier2, there's no way to reuse the bidirectional connection.
Instead we will initially attempt to use a wrapper, routing the storm communication through the Blitz server and down to the client.
Similar configuration will be needed for all callbacks which come from the client:
components/blitz/resources $ git grep -E '\(.*[a-zA-Z][*].*\)' omero/API.ice: void subscribe(string topicName, Object* prx) throws ServerError; omero/API.ice: bool keepAlive(ServiceInterface* proxy) throws ServerError; // SAFE; PASSED OUT OF SERVER omero/Repositories.ice: void transfer(string srcPath, Repository* target, string targetPath) // SAFE; PASSSED OUT OF SERVER omero/Scripts.ice: void registerCallback(ProcessCallback* cb) throws omero::ServerError; omero/Scripts.ice: void unregisterCallback(ProcessCallback* cb) throws omero::ServerError; omero/Scripts.ice: void requestRunning(ProcessorCallback* cb); omero/Scripts.ice: omero::RMap getResults(Process* proc) throws ServerError; // SAFE; PASSED OUT OF SERVER omero/SharedResources.ice: addProcessor(omero::grid::Processor* proc) omero/SharedResources.ice: removeProcessor(omero::grid::Processor* proc)
See: http://zeroc.com/doc/Ice-3.3.1/manual/Connections.38.7.html
Change History (5)
comment:1 Changed 14 years ago by jmoore
comment:2 Changed 14 years ago by jmoore
comment:3 Changed 14 years ago by cxallan
- Sprint changed from 2010-05-27 (10) to 2010-06-10 (11)
comment:4 Changed 14 years ago by jmoore
- Description modified (diff)
comment:5 Changed 14 years ago by jmoore
- Description modified (diff)
(In [7188]) see #2485 - tracking down server-side timeout