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)