private static void atomicRollback(Repository r) { if (r.isTransactionInProgress()) { r.rollback(); } }
private static void atomicCommit(Repository r, boolean rollback) { if (r.isTransactionInProgress()) { if (rollback) { throw new RuntimeException( "Running on devserver or unit tests? To test cross-group, default_high_rep_job_policy_unapplied_job_pct must be > 0"); } r.commit(); } }
private boolean beginTransactionForPipes() { if (isTransactionInProgress()) { return false; } begin(); return true; }
@Override public boolean isTransactionInProgress() { init(); return get().isTransactionInProgress(); }
public void execute() { try { r.beginX(); cacheSinkMarkers(); executeWorks(); commitIfChanged(); } finally { if (r.isTransactionInProgress()) { r.rollback(); } } }
private void saveInternal(Object object) { boolean newTransaction = beginTransactionForPipesOnSave(object); try { updateExistingPipes(object); rawSave(object); invalidateCache(object); fluxPipes(object); if (newTransaction) { commit(); } } finally { if (newTransaction && isTransactionInProgress()) { rollback(); } } logger.finer("saved"); }
private void flushSource() { try { r.begin(); Pipe pipe = newPipeInstance(); Object source = sourceId.fetch(); r.driver().pipes().flux(pipe, source); r.commit(); } finally { if (r.isTransactionInProgress()) { r.rollback(); } } }
private void destroyInternal(IdRef<?> id) { boolean newTransaction = beginTransactionForPipesOnDestroy(id); try { refluxPipes(id); driver().persistence().destroy(id); invalidateCache(id); // TODO: Pipes - cleanup sinks if (newTransaction) { commit(); } } finally { if (newTransaction && isTransactionInProgress()) { rollback(); } } }