Browse Source

etcdserver: give update/create higher priority

Blake Mizerany 11 years ago
parent
commit
e79e9c4853
1 changed files with 2 additions and 2 deletions
  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)
 	case "PUT":
 		switch {
-		case r.PrevIndex > 0 || r.PrevValue != "":
-			return s.st.CompareAndSwap(r.Path, r.PrevValue, r.PrevIndex, r.Val, expr)
 		case r.PrevExists:
 			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:
 			return s.st.Create(r.Path, r.Dir, r.Val, false, expr)
 		}