You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Benoit Tellier (Jira)" <se...@james.apache.org> on 2020/11/30 10:28:00 UTC

[jira] [Commented] (JAMES-3464) Mailbox/set should handle ifInState

    [ https://issues.apache.org/jira/browse/JAMES-3464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17240645#comment-17240645 ] 

Benoit Tellier commented on JAMES-3464:
---------------------------------------

I don't see how this fit with the Distributed James consistency model.

I don't see how to easily and efficiently implement this.

I don't see how this helps regarding Mailbox/changes. Did you confused it with the newState / oldState properties in the Mailbox/set response object?

> Mailbox/set should handle ifInState
> -----------------------------------
>
>                 Key: JAMES-3464
>                 URL: https://issues.apache.org/jira/browse/JAMES-3464
>             Project: James Server
>          Issue Type: Sub-task
>            Reporter: Lan Khuat
>            Priority: Major
>
> From spec: [https://jmap.io/spec-core.html#set] (section 5.3)
> {code:java}
> ifInState: This is a state string as returned by the Foo/get method (representing the state of all objects of this type in the account). If supplied, the string must match the current state; otherwise, the method will be aborted and a stateMismatch error returned. If null, any changes will be applied to the current state.
> {code}
> h1. How
> When Email/set request is received, if the ifInState property is present we need to compare it with the current Mailbox state stored in MailboxChangeRepository.
>  * if mismatched, a stateMismatch error should be returned.
>  * if matched, all the changes in the request will be applied and should create a new state, unless all the methodCalls in the request end up failing.
> If the ifInState property is omitted then all the changes will be applied to the current state.
> h1. DoD
> Integration tests to show that the Mailbox/set method can handle ifInState property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org