[ 
https://jira.nuxeo.org/browse/NXP-4914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=71780#action_71780
 ] 

Mariana Cedica commented on NXP-4914:
-------------------------------------

In Apogee :
Documents are cached also on client side. Each time a document is accessed 
server side, a copy is hold in memory for further accesses. Clients are 
listening for repository changes and they invalidate documents in cache 
accordingly. Operations on documents are invoked remotely by sending an 
operation to the server. That operation holds document references that are used 
as for retrieving the documents that are involved.

This way, we have no way not insure that the document held in the apogee cache 
is the same as the one on the server. If a document is updated server side, the 
repository change can take a long time to be taken in account client side. That 
means that a user is able to invoke an operation on q wrong document version.

To solve that problem, each time the server is notifying a document change, we 
can save client side, the server time at which the change occurred. Then that 
time-stamp will be returned back to the server, each time an operation is 
invoked. Server will be able then to validate that the documents on which the 
operation is applied have not been modified concurrently. 

> SQL Core Storage Concurrent Cache Updates
> -----------------------------------------
>
>                 Key: NXP-4914
>                 URL: https://jira.nuxeo.org/browse/NXP-4914
>             Project: Nuxeo Enterprise Platform
>          Issue Type: Improvement
>    Affects Versions: 5.3.x
>            Reporter: Mariana Cedica
>            Assignee: Mariana Cedica
>
> The SQL core storage will only remove the invalidated documents from the 
> cache whenever a new transaction is starting. 
> With that system, if multiple transactions working onto shared documents 
> overlaps, then the last commit will override the change from the others. 
> To solve that problem, we want to process the cache invalidation at commit 
> time also. This way we will be able to detect concurrency and notify users.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to