Bug #1064 (closed)
Opened 16 years ago
Closed 16 years ago
Error destroying servant: ome.conditions.InternalException
Reported by: | atarkowska | Owned by: | jamoore |
---|---|---|---|
Priority: | critical | Cc: | |
Sprint: | n.a. | ||
Total Remaining Time: | n.a. |
Description
27318707 [l.Server-4] INFO ome.security.basic.EventHandler - Auth: user=0,group=0,event=320(Sessions) 27318714 [l.Server-4] INFO ome.security.basic.CurrentDetails - Adding log:UPDATE,class ome.model.meta.Session,163 27318719 [l.Server-4] INFO ome.services.util.ServiceHandler - Rslt: ome.model.meta.Session:Id_163 27318719 [l.Server-4] INFO ome.services.blitz.impl.ServiceFactoryI - Closing ome.services.blitz.impl.ServiceFactoryI@e639da session 27318719 [l.Server-4] ERROR ome.services.blitz.impl.ServiceFactoryI - Error destroying servant: omero.api.ISession=omero.api._ISessionTie@d13237 ome.conditions.InternalException: Unknown servant type: omero.api._ISessionTie@d13237
27318720 [l.Server-4] INFO ome.services.blitz.impl.ServiceFactoryI - Removed servant from adapter: omero.api.IUpdate 27318720 [l.Server-4] ERROR ome.services.blitz.impl.ServiceFactoryI - Error destroying servant: a:b:3:81:2046d639:11bfe285264:-7fc8omero.api.RenderingEngine=omero.api._RenderingEngineTie@103b4a ome.conditions.InternalException: Unknown servant type: omero.api._RenderingEngineTie@103b4a
the same problem for every type of created services
Change History (4)
comment:1 Changed 16 years ago by atarkowska
comment:2 Changed 16 years ago by atarkowska
the name of the test file was changed:
[
https://trac.openmicroscopy.org.uk/omero/browser/trunk/components/tools/OmeroPy/test/integration/ticket2000.py]
comment:3 Changed 16 years ago by atarkowska
comment:4 Changed 16 years ago by jmoore
- Priority changed from minor to critical
- Resolution set to fixed
- Status changed from new to closed
r2750 contains a fix.
The error that Ola points out is larger than one might expect. It is preventing stateful resources from being properly freed, so I've increased the priority.
This particular error is due to a bad instanceof check which should be refactored to the servants themselves. Fixing this, however, also uncovered a more sinister error:
The proxies generated by Spring which are injected into the blitz servants do not declare an interface with the destroy() method which is needed to clean up the stateful services. Therefore, I added ome.api.local.Destroy.
Then, another issue arose since the destroy() methods are not @RolesAllowed, i.e. they are not method calls that can be made from user space.
Much of this stems from the uncomfortable split we are doing between JBoss and Blitz, which we can hopefully clean up at some future date. (This cleanup is scheduled as #1065)
test: https://trac.openmicroscopy.org.uk/omero/browser/trunk/components/tools/OmeroPy/test/integration/ticket1064.py