zk: set (instead of Create)

This commit is contained in:
Gyu-Ho Lee 2016-05-05 15:28:06 -07:00
parent 648dc8e0c9
commit 84ca908897
3 changed files with 11 additions and 9 deletions

View File

@ -269,7 +269,7 @@ func step2(cfg Config) error {
}() }()
for i := range conns { for i := range conns {
wg.Add(1) wg.Add(1)
go doPutZk(conns[i], requests) go doPutZk(conns[i], requests, cfg.Step2.SameKey)
} }
case "consul": case "consul":

View File

@ -80,10 +80,7 @@ func wrapReport(f func()) <-chan struct{} {
func (r *report) finalize() { func (r *report) finalize() {
log.Printf("finalize has started") log.Printf("finalize has started")
st := time.Now() st := time.Now()
i := 0
for res := range r.results { for res := range r.results {
i++
fmt.Println("finalize from results:", i, res)
if res.errStr != "" { if res.errStr != "" {
r.errorDist[res.errStr]++ r.errorDist[res.errStr]++
} else { } else {

View File

@ -260,24 +260,29 @@ func getTotalKeysEtcdv3(endpoints []string) map[string]int64 {
return rs return rs
} }
func doPutZk(conn *zk.Conn, requests <-chan request) { func doPutZk(conn *zk.Conn, requests <-chan request, sameKey bool) {
defer wg.Done() defer wg.Done()
i := 0 var idx int32
for req := range requests { for req := range requests {
i++
op := req.zkOp op := req.zkOp
st := time.Now() st := time.Now()
_, err := conn.Create(op.key, op.value, zkCreateFlags, zkCreateAcl) var err error
if !sameKey || idx == 0 {
_, err = conn.Create(op.key, op.value, zkCreateFlags, zkCreateAcl)
} else {
_, err = conn.Set(op.key, op.value, idx)
}
var errStr string var errStr string
if err != nil { if err != nil {
errStr = err.Error() errStr = err.Error()
} }
fmt.Println("sent to results:", i, errStr, op.key, op.value)
results <- result{errStr: errStr, duration: time.Since(st), happened: time.Now()} results <- result{errStr: errStr, duration: time.Since(st), happened: time.Now()}
bar.Increment() bar.Increment()
idx++
} }
} }