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 #2897 (new)

Opened 13 years ago

Last modified 13 years ago

ISession could destroy sessions

Reported by: atarkowska Owned by: jamoore
Priority: major Milestone: Unscheduled
Component: Services Version: n.a.
Keywords: n.a. Cc:
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.5d
Sprint: n.a.


closeSession is reducing reference counter only. It means user must call it many times. It would be good to have destroySession which kill every workers at once.

Change History (8)

comment:1 Changed 13 years ago by jmoore

see killSession.

comment:2 Changed 13 years ago by atarkowska

(In [8092]) to be sure session is completely destroyed, see #2897

comment:3 Changed 13 years ago by atarkowska

calling killSession for 'root' breaks server, require restart.

2010-09-17 20:38:51,528 ERROR [services.blitz.fire.PermissionsVerifierI] (l.Server-0) Exception thrown while checking password for:root
ome.conditions.RemovedSessionException: No context for 0e73374a-63a6-4497-a3c6-d5847fee89b9
	at ome.services.sessions.state.SessionCache.getElementNullOrThrowOnTimeout(SessionCache.java:269)
	at ome.services.sessions.state.SessionCache.getSessionContext(SessionCache.java:235)
	at ome.security.basic.CurrentDetails.login(CurrentDetails.java:158)
	at ome.services.util.Executor$Impl.execute(Executor.java:334)
	at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:926)
	at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:913)
	at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889)
	at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:72)
	at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90)
	at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118)
	at IceInternal.Incoming.invoke(Incoming.java:159)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
	at Ice.ConnectionI.message(ConnectionI.java:972)
	at IceInternal.ThreadPool.run(ThreadPool.java:577)
	at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)

comment:4 Changed 13 years ago by jmoore

I'm assuming you got a list of all the sessions and killed them? That would indeed kill the server. Can you check whether something is an "internal" service or not? (See Session.defaultEventType)

comment:5 Changed 13 years ago by atarkowska

If I kill sessions: 'Internal' and 'Sessions' it will break the server. There is no way to log in anymore. I think would be good to protect server against it.

comment:6 Changed 13 years ago by jmoore

  • Remaining Time set to 0.5

comment:7 Changed 13 years ago by cxallan

  • Milestone changed from OMERO-Beta4.2.1 to Unscheduled
  • Sprint 2010-09-09 (16) deleted

comment:8 Changed 13 years ago by cxallan

  • Summary changed from ISession could detroy sessions to ISession could destroy sessions
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.62774 sec.)

We're Hiring!