[
https://jira.jboss.org/jira/browse/DNA-582?page=com.atlassian.jira.plugin...
]
Randall Hauch resolved DNA-582.
-------------------------------
Fix Version/s: 0.7
(was: 1.0)
Resolution: Done
Assignee: Randall Hauch
Marking this super-task as resolved, since all unit and integration tests pass with the
changes to the RequestProcessor and connector frameworks. However, each connector needs
to be addressed to make sure they properly implement the semantics, and these are
addressed separately as part of the appropriate subtask.
The connector.execute(...) method is not 'all-or-nothing'
---------------------------------------------------------
Key: DNA-582
URL:
https://jira.jboss.org/jira/browse/DNA-582
Project: DNA
Issue Type: Bug
Components: Connectors, Graph
Affects Versions: 0.7
Reporter: Randall Hauch
Assignee: Randall Hauch
Priority: Blocker
Fix For: 0.7
The RepositoryConnector.execute(ExecutionContext,Request) method does not have
all-or-nothing behavior. That is, if the request is a CompositeRequest with multiple
requests to change the content, and some of those change requests result in errors, the
execution should 'rollback' the changes and return the content to the state before
the method was called. In other words, either all of the requests are fulfilled, or none
of them are.
None of the writable connectors work this way, and they all need to be corrected. Also,
this behavior needs to be documented in the connector API. Finally, we need to make sure
that the JCR session's transient state is unchanged if a save() call results in an
error (the connector's state should rollback, but the session's state should
remain, per Section 7.1.1.6-7.1.1.7 of JCR 1.0.1).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira