mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
*: rename Snapshot STM isolation to SerializableSnapshot
Pure Snapshot isolation would permit read conflicts. Change the name from Snapshot to SerializableSnapshot to reflect that it will also reject read conflicts.
This commit is contained in:
@@ -43,8 +43,9 @@ type STM interface {
|
||||
type Isolation int
|
||||
|
||||
const (
|
||||
// Snapshot is serializable but also checks writes for conflicts.
|
||||
Snapshot Isolation = iota
|
||||
// SerializableSnapshot provides serializable isolation and also checks
|
||||
// for write conflicts.
|
||||
SerializableSnapshot Isolation = iota
|
||||
// Serializable reads within the same transactiona attempt return data
|
||||
// from the at the revision of the first read.
|
||||
Serializable
|
||||
@@ -102,7 +103,7 @@ func NewSTM(c *v3.Client, apply func(STM) error, so ...stmOption) (*v3.TxnRespon
|
||||
|
||||
func mkSTM(c *v3.Client, opts *stmOptions) STM {
|
||||
switch opts.iso {
|
||||
case Snapshot:
|
||||
case SerializableSnapshot:
|
||||
s := &stmSerializable{
|
||||
stm: stm{client: c, ctx: opts.ctx},
|
||||
prefetch: make(map[string]*v3.GetResponse),
|
||||
|
||||
@@ -88,7 +88,7 @@ func stmFunc(cmd *cobra.Command, args []string) {
|
||||
case "s":
|
||||
stmIso = v3sync.Serializable
|
||||
case "ss":
|
||||
stmIso = v3sync.Snapshot
|
||||
stmIso = v3sync.SerializableSnapshot
|
||||
default:
|
||||
fmt.Fprintln(os.Stderr, cmd.Usage())
|
||||
os.Exit(1)
|
||||
|
||||
Reference in New Issue
Block a user