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

Opened 11 years ago

Closed 9 years ago

Collect ChgrpValidation exceptions

Reported by: jamoore Owned by: jamoore
Priority: critical Milestone: 5.x
Component: Services Version: 5.1.2
Keywords: fs Cc: fs@…
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: FS demo 4.x

Description (last modified by jamoore)

When the first validation error (foreign key constraint) is encountered during graph processing, an exception is immediately thrown and the ID of the object causing the exception is returned in the constraints field of the omero::cmd::ChgrpERR object. Clients would benefit from having all the constraints rather than just the first such constraint.

Currently there is nothing in place to allow this type of detection. A possible workaround may be to perform a query (see #10782) before executing the chgrp.

See:

Change History (5)

comment:1 Changed 11 years ago by jburel

  • Sprint changed from FS demo 4.2 to FS Demo 4.3

Moved from sprint FS demo 4.2

comment:2 Changed 11 years ago by jamoore

  • Priority changed from blocker to critical
  • Sprint changed from FS Demo 4.3 to FS demo 4.x

With Mark's work on #10782 / #10890, this should no longer be of significant impact. We may want to re-write the tests as a part of that work to not look for a constraint, but rather to perform the query. The constraint checks could be left in / turned back on as a double validation, once this ticket is handled.

comment:3 Changed 11 years ago by jamoore

  • Description modified (diff)

comment:4 Changed 11 years ago by jmoore <josh@…>

(In [92b69fe02b0a709f5fdd5aa34974ac4132cdd833/ome.git] on branch develop) Add finish() phase to IRequest (See #11045, #11054, etc)

Now that Fileset handling is happening after containers and
images, it's necessary to have a phase hook which checks that
all filesets have been deleted along with the related images.

This amounts to a trigger pre-commit, but that's not provided
by postgresql. Instead, we collect all of the fileset IDs in
the DeleteStep? instances and then check that they have been
removed afterwards. The primary drawback is that this no longer
provides a GraphConstraintERR but rather just a regular ERR.

See #10846

Note: if this requirement is ever removed, the entire finish()
phase could be rolled back. Alternatively, this could replace
the ChgrpValidation? steps.

comment:5 Changed 9 years ago by jamoore

  • Remaining Time changed from 1.5 to 0
  • Resolution set to invalid
  • Status changed from new to closed
  • Version set to 5.1.2

This has been invalidated by the new Chgrp2 implementation.

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

We're Hiring!