id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,drp_resources,i_links,o_links,remaining_time,sprint 11779,Alt. impl. of graph processing,jamoore,mtbcarroll,"Since the focus of much of beta3 will be graph processing, it is likely a good time to discuss an alternative implementation for processing graphs. It will be critical to judge what alternatives are possible and how long each might take to know whether or not this will be feasible for beta3. === Current ""Rollback"" strategy === Currently, the `ome.services.graphs` package uses [https://github.com/openmicroscopy/openmicroscopy/blob/develop/components/model/src/ome/util/actions/PostgresSqlAction.java#L331 `SAVEPOINT ...'`] to mark sub-graphs which if not successful should not completely rollback the transaction. It's assumed that the overhead of these savepoints is one of the main limiting factors for `DeleteI`, `ChgrpI`, etc. === ""Compiler"" strategy === One alternative would be to read the graph specs and generate a list of `SELECTs` which will calculate whether or not to even enter into the subgraphs. If the known-to-fail `UPDATEs` (or `DELETEs`) are not called, then there'll be no reason to create a savepoint.",task,closed,critical,5.1.0-m3,Services,5.0.0-beta1,fixed,,java@… sethur2@… k.h.gillen@… spli@…,,,,,