Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

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

(In [7188]) see #2485 - tracking down server-side timeout

comment:2 Changed 14 years ago by jmoore

(In [7190]) see #2485 - calling del on exceptions during createSession

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)
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.73034 sec.)

We're Hiring!