mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-08-05 04:01:12 +03:00
Updated README.md
This commit is contained in:
34
README.md
34
README.md
@@ -44,13 +44,16 @@ calls the registered callbacks.
|
|||||||
## Server Context
|
## Server Context
|
||||||
|
|
||||||
Server attributes:
|
Server attributes:
|
||||||
|
|
||||||
* Identifiers (name, uuid)
|
* Identifiers (name, uuid)
|
||||||
|
|
||||||
Server capabilities:
|
Server capabilities:
|
||||||
|
|
||||||
* Rollback mode (async or sync)
|
* Rollback mode (async or sync)
|
||||||
*
|
*
|
||||||
|
|
||||||
Abstract Methods:
|
Abstract Methods:
|
||||||
|
|
||||||
* on_connect()
|
* on_connect()
|
||||||
* on_view()
|
* on_view()
|
||||||
* on_sync()
|
* on_sync()
|
||||||
@@ -77,15 +80,22 @@ program which drives the transaction.
|
|||||||
## Client Context
|
## Client Context
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
|
|
||||||
* Identifier
|
* Identifier
|
||||||
* Mode (local, applier)
|
* Mode (local, applier)
|
||||||
* State (idle, exec, quit)
|
* State (idle, exec, quit)
|
||||||
|
|
||||||
Abstract methods:
|
Abstract methods:
|
||||||
|
|
||||||
* before_command() - executed before a command from client is processed
|
* before_command() - executed before a command from client is processed
|
||||||
* after_command() - executed after a command from client has been processed
|
* after_command() - executed after a command from client has been processed
|
||||||
* before_statement() - executed before a statement from client is processed
|
* before_statement() - executed before a statement from client is processed
|
||||||
* after_statement - executed after a statement from a client has been processed
|
* after_statement - executed after a statement from a client has been processed
|
||||||
|
* apply()
|
||||||
|
* commit()
|
||||||
|
* rollback()
|
||||||
|
* replay()
|
||||||
|
|
||||||
|
|
||||||
The following subsections briefly describe what would be the
|
The following subsections briefly describe what would be the
|
||||||
purpose of the abstract methods in mysql-wsrep implementattion.
|
purpose of the abstract methods in mysql-wsrep implementattion.
|
||||||
@@ -105,6 +115,7 @@ Bookkeeping.
|
|||||||
|
|
||||||
Checks which are run before the actual parsed statement is executed.
|
Checks which are run before the actual parsed statement is executed.
|
||||||
These may include:
|
These may include:
|
||||||
|
|
||||||
* Check if dirty reads are allowed
|
* Check if dirty reads are allowed
|
||||||
* ...
|
* ...
|
||||||
|
|
||||||
@@ -115,6 +126,7 @@ Checks if the statement can and should be retried.
|
|||||||
## Transaction Context
|
## Transaction Context
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
|
|
||||||
* Client context - pointer or reference to client context
|
* Client context - pointer or reference to client context
|
||||||
* Identifier - an identifier which uniquely identifies the transaction
|
* Identifier - an identifier which uniquely identifies the transaction
|
||||||
on the server the client driven execution happens
|
on the server the client driven execution happens
|
||||||
@@ -124,15 +136,22 @@ Attributes
|
|||||||
See https://github.com/codership/Engineering/wiki/Transaction_coordinator_design
|
See https://github.com/codership/Engineering/wiki/Transaction_coordinator_design
|
||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
|
|
||||||
* Identifier (interger, uuid or similar)
|
* Identifier (interger, uuid or similar)
|
||||||
* State (executing, certifying, must_abort, etc)
|
* State (executing, certifying, must_abort, etc)
|
||||||
|
|
||||||
Methods:
|
Methods:
|
||||||
|
|
||||||
* append_key()
|
* append_key()
|
||||||
* append_data()
|
* append_data()
|
||||||
* after_row()
|
* after_row()
|
||||||
* before_prepare()
|
* before_prepare()
|
||||||
* after_prepare()
|
* after_prepare()
|
||||||
|
* before_commit()
|
||||||
|
* ordered_commit()
|
||||||
|
* after_commit()
|
||||||
|
* before_rollback()
|
||||||
|
* after_rollback()
|
||||||
|
|
||||||
### Append Key
|
### Append Key
|
||||||
|
|
||||||
@@ -163,20 +182,7 @@ on remote servers.
|
|||||||
## Remote Transaction Applying
|
## Remote Transaction Applying
|
||||||
|
|
||||||
Methods:
|
Methods:
|
||||||
|
|
||||||
* apply()
|
* apply()
|
||||||
|
|
||||||
## Commit Order Coordinator
|
|
||||||
|
|
||||||
Commit order coordinator is a common for both local and remote
|
|
||||||
transaction. Currently this is implemented in transaction_context
|
|
||||||
class, check out later if it make sense to refactor commit ordering
|
|
||||||
into separate class.
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
|
|
||||||
* before_commit()
|
|
||||||
* ordered_commit()
|
|
||||||
* after_commit()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user