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"

Bug #193 (closed)

Opened 18 years ago

Closed 18 years ago

RenderingBean should not automatically save user changes.

Reported by: jamoore Owned by: jamoore
Priority: critical Cc: cxallan, bwzloranger, jburel
Sprint: n.a.
Total Remaining Time: n.a.

Description

Currently saving (i.e. flushing) takes place at various times. This should not happen for the state stored in the rendering engine, but rather only when the user clicks on "save".

To makes this happen, most likely we will need to turn off passivation of the RenderingBean? and will have to modularize all calls to flush within interceptors. On close (if "save" was not called) then the transaction should be set to rollback only.

Change History (6)

comment:1 Changed 18 years ago by jmoore

  • Keywords changed from hibernate,flush,session,state to hibernate,flush,session,state,iteration4
  • Milestone changed from 3.0-M3 to 3.0-M2
  • Status changed from new to assigned
  • Version changed from 3.0-M3 to 3.0-M2

Plan:

  • remove the one call to flush in EventHandler? (been meaning to anyway)
  • configure jboss.xml to turn off passivation (just for Rendering?)
  • throw Exception on passivation just to be sure.
  • test (this is the tricky part). If we think this always happens, then I just need to compare the before and after DB values for statsinfo and channelbindings, right?

comment:2 Changed 18 years ago by jmoore

  • Cc brain jburel added
  • Component changed from General to ApplicationServer

r743 implements the changes planned. As said, this is hard to test (more so in my current state). Can somebody else write up a failing test before applying these changes, and see if this fixes it?

comment:3 Changed 18 years ago by jmoore

Speak of the devil...

10:47:17,280 ERROR [SimpleStatefulCache] problem passivation thread
java.lang.RuntimeException: ome.conditions.InternalException: Passivation should have been disabled for all Stateful Session Beans.
Please contact the Omero development team for how to ensure that passivation
is disabled on your application server.

jboss.xml apparently didn't turn off passivation. Will try again. However, the changes to flush might still prevent the DB from being corrupted.

comment:4 Changed 18 years ago by jmoore

Strike 2.

#195 shows that the session is indeed (less perhaps, but still) being flushed. Plan 2: take care of this on session acquisition.

comment:5 Changed 18 years ago by jmoore

r749 sets FlushMode to NEVER on session acquisition in SessionHandler. saveSettings makes what for the RenderingBean should hopefully be the only call to flush.

comment:6 Changed 18 years ago by jmoore

  • Resolution set to fixed
  • Status changed from assigned to closed

Looks to be working. Closing...

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

We're Hiring!