Преглед изворни кода

etcdserver: give update/create higher priority

Blake Mizerany пре 11 година
родитељ
комит
e79e9c4853
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      etcdserver2/server.go

+ 2 - 2
etcdserver2/server.go

@@ -120,10 +120,10 @@ func (s *Server) apply(ctx context.Context, e raft.Entry) (*store.Event, error)
 		return s.st.Create(r.Path, r.Dir, r.Val, true, expr)
 		return s.st.Create(r.Path, r.Dir, r.Val, true, expr)
 	case "PUT":
 	case "PUT":
 		switch {
 		switch {
-		case r.PrevIndex > 0 || r.PrevValue != "":
-			return s.st.CompareAndSwap(r.Path, r.PrevValue, r.PrevIndex, r.Val, expr)
 		case r.PrevExists:
 		case r.PrevExists:
 			return s.st.Update(r.Path, r.Val, expr)
 			return s.st.Update(r.Path, r.Val, expr)
+		case r.PrevIndex > 0 || r.PrevValue != "":
+			return s.st.CompareAndSwap(r.Path, r.PrevValue, r.PrevIndex, r.Val, expr)
 		default:
 		default:
 			return s.st.Create(r.Path, r.Dir, r.Val, false, expr)
 			return s.st.Create(r.Path, r.Dir, r.Val, false, expr)
 		}
 		}