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 #2304 (closed)

Opened 14 years ago

Closed 14 years ago

BUG: No Processor Available

Reported by: wmoore Owned by: jamoore
Priority: minor Milestone: OMERO-Beta4.2
Component: General Version: n.a.
Keywords: n.a. Cc:
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2010-04-30 (8)

Description (last modified by wmoore)

Trying to run script like
http://trac.openmicroscopy.org.uk/omero/browser/trunk/components/blitz/resources/omero/api/IScript.ice#L40

Will commit test below...

wjm:OmeroPy will$ PYTHONPATH=$PYTHONPATH:.:test:build/lib ICE_CONFIG=/Users/will/Documents/workspace/Omero/etc/ice.config python test/integration/scripts.py TestScripts.testRunScript
E
======================================================================
ERROR: testRunScript (__main__.TestScripts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/integration/scripts.py", line 84, in testRunScript
    proc = scriptService.runScript(scriptId, map, None)
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero_api_IScript_ice.py", line 149, in runScript
    return _M_omero.api.IScript._op_runScript.invoke(self, ((scriptID, inputs, waitSecs), _ctx))
ResourceError: exception ::omero::ResourceError
{
    serverStackTrace = 
    serverExceptionClass = 
    message = No processor available.
}

----------------------------------------------------------------------
Ran 1 test in 18.871s

Change History (11)

comment:1 Changed 14 years ago by wmoore

(In [6803]) Failing test. See #2304.

comment:1 Changed 14 years ago by wmoore

comment:2 Changed 14 years ago by wmoore

  • Description modified (diff)
  • Owner set to jmoore

comment:3 Changed 14 years ago by jmoore

This seems to be caused for the most part by internal use of proxies:

// In some servant
InteractiveProcessorPrx prx = factory.sharedResources().acquireProcessor(...);
prx.execute(...);

both the call "acquireProcessor" and "execute" are remote calls, since we currently have collocation optimization turned off (though even then it may consume threads).

We may have to make an explicit rule to not use internal proxy calls if at all possible (when calling to OmeroPy, for example, it can't be avoided.)

comment:4 Changed 14 years ago by jmoore

(In [6811]) see #2304 - Removing remote calls from ScriptProcessI

comment:5 Changed 14 years ago by jmoore

(In [6814]) Various fixes to have scripting running again. See #1341, #2304, #2261, #2253

comment:7 Changed 14 years ago by jmoore

r6811 looked to have cleaned up the ResourceErrors, but a subsequent test ran into the same issue. The cause is still unknown.

comment:8 Changed 14 years ago by jmoore

(In [6833]) see #2304 - Probably cause is SQL locking

comment:9 Changed 14 years ago by jmoore

  • Status changed from new to assigned

Primary issue turns out to be a call to IceMapper.map on a session-connected object, leading to large scale DB loading (in validateScript). A secondary issue which permitted the restarts to sometimes clear up the issue was that processors were not recalling session.sharedResources().addProcessor() on subsequent sessions.

comment:10 Changed 14 years ago by jmoore

(In [6925]) see #2304 - adding processors on newly created sessions

comment:11 Changed 14 years ago by jmoore

  • Remaining Time set to 0
  • Resolution set to fixed
  • Status changed from assigned to closed

(In [6926]) fix #2304 - moving IceMapper outside of session

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.68500 sec.)

We're Hiring!