You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by "Maarten Coene (JIRA)" <ji...@apache.org> on 2007/05/10 21:18:15 UTC

[jira] Commented: (IVY-492) support atomic publish operation

    [ https://issues.apache.org/jira/browse/IVY-492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12494839 ] 

Maarten Coene commented on IVY-492:
-----------------------------------

For atomic publish support to filesystems, maybe we can use Jakarta commons-transactions?


> support atomic publish operation
> --------------------------------
>
>                 Key: IVY-492
>                 URL: https://issues.apache.org/jira/browse/IVY-492
>             Project: Ivy
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Geoff Reedy
>
> Some resolver types (e.g. one that uses subversion) could benefit from publishing a module as a single atomic transaction.  Currently, each artifact (and it's checksums) are published as separate operations, if one of the artifact uploads fail (perhaps an artifact is missing or another user is trying to publish the same version at the same time) the ivy repository can be in an inconsistent state with a half published module.  In addition, if uploads are logged many entries in the log are generated for a single logical operation.
> A possible implementation strategy is to add three new methods to the resolver interface:
> beginPublish(ModuleRevisionId)
> abortPublish()
> commitPublish()
> beginPublish would be called before publishing the artifacts of the module, abortPublish would be called if there is an error while publishing the module, commitPublish would be called if all artifacts were successfully published.  Existing resolvers could simple implement these methods as no-ops to retain the present behavior.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.