1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.tikv.common.exception;
19
20 import com.google.protobuf.ByteString;
21 import java.util.Optional;
22 import org.tikv.common.codec.KeyUtils;
23
24 public class RawCASConflictException extends RuntimeException {
25
26 private final ByteString key;
27 private final Optional<ByteString> expectedPrevValue;
28 private final Optional<ByteString> prevValue;
29
30 public RawCASConflictException(
31 ByteString key, Optional<ByteString> expectedPrevValue, Optional<ByteString> prevValue) {
32 super(
33 String.format(
34 "key=%s expectedPrevValue=%s prevValue=%s",
35 KeyUtils.formatBytes(key), expectedPrevValue, prevValue));
36 this.key = key;
37 this.expectedPrevValue = expectedPrevValue;
38 this.prevValue = prevValue;
39 }
40
41 public ByteString getKey() {
42 return this.key;
43 }
44
45 public Optional<ByteString> getExpectedPrevValue() {
46 return this.expectedPrevValue;
47 }
48
49 public Optional<ByteString> getPrevValue() {
50 return this.prevValue;
51 }
52 }