You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Kai Zheng (JIRA)" <ji...@apache.org> on 2015/09/22 09:32:04 UTC

[jira] [Created] (DIRKRB-416) Allow to support transaction for backend

Kai Zheng created DIRKRB-416:
--------------------------------

             Summary: Allow to support transaction for backend
                 Key: DIRKRB-416
                 URL: https://issues.apache.org/jira/browse/DIRKRB-416
             Project: Directory Kerberos
          Issue Type: Improvement
            Reporter: Kai Zheng
            Assignee: Kai Zheng
             Fix For: 1.0.0-GA


This is going to support transaction for backend. Below is the rough ideas initially.
1.	A backend instance allows only one transaction at a time;
2.	When it’s in a transaction, any mutation operation via non-transaction API (existing one) will be denied;
3.	In a transaction, multiple mutation operations can be made via the new transaction API, and states are only updated to the memory, no store/save/flush to the disk file;
4.	When the transaction ends, the memory state will be persisted/synced to the disk file, then the update content will be visible to other backend instances if it reloads.
5.	For backends that use a system already supporting transaction, like Mavibot, LDAP and Zookeeper, the new transaction API will have default implementation that performs no-op.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)