Yuta HIGUCHI

moved VersionedValue

Change-Id: Iec72c936e06ef9b1813ed3661d8f7d81d2654969
...@@ -15,19 +15,23 @@ public class WriteRequest { ...@@ -15,19 +15,23 @@ public class WriteRequest {
15 private final long previousVersion; 15 private final long previousVersion;
16 private final byte[] oldValue; 16 private final byte[] oldValue;
17 17
18 + // put regardless of previous value
18 public WriteRequest(String tableName, String key, byte[] newValue) { 19 public WriteRequest(String tableName, String key, byte[] newValue) {
19 this(tableName, key, newValue, -1, null); 20 this(tableName, key, newValue, -1, null);
20 } 21 }
21 22
23 + // put if version matches
22 public WriteRequest(String tableName, String key, byte[] newValue, long previousVersion) { 24 public WriteRequest(String tableName, String key, byte[] newValue, long previousVersion) {
23 this(tableName, key, newValue, previousVersion, null); 25 this(tableName, key, newValue, previousVersion, null);
24 checkArgument(previousVersion >= 0); 26 checkArgument(previousVersion >= 0);
25 } 27 }
26 28
29 + // put if value matches
27 public WriteRequest(String tableName, String key, byte[] newValue, byte[] oldValue) { 30 public WriteRequest(String tableName, String key, byte[] newValue, byte[] oldValue) {
28 this(tableName, key, newValue, -1, oldValue); 31 this(tableName, key, newValue, -1, oldValue);
29 } 32 }
30 33
34 + // hidden constructor
31 private WriteRequest(String tableName, String key, byte[] newValue, long previousVersion, byte[] oldValue) { 35 private WriteRequest(String tableName, String key, byte[] newValue, long previousVersion, byte[] oldValue) {
32 36
33 checkArgument(tableName != null); 37 checkArgument(tableName != null);
......
...@@ -56,14 +56,15 @@ public class DatabaseManager implements DatabaseService, DatabaseAdminService { ...@@ -56,14 +56,15 @@ public class DatabaseManager implements DatabaseService, DatabaseAdminService {
56 56
57 @Activate 57 @Activate
58 public void activate() { 58 public void activate() {
59 + // FIXME hack tcpPort +1 for copycat communication
59 TcpMember localMember = 60 TcpMember localMember =
60 new TcpMember( 61 new TcpMember(
61 clusterService.getLocalNode().ip().toString(), 62 clusterService.getLocalNode().ip().toString(),
62 - clusterService.getLocalNode().tcpPort()); 63 + clusterService.getLocalNode().tcpPort() + 1);
63 List<TcpMember> remoteMembers = Lists.newArrayList(); 64 List<TcpMember> remoteMembers = Lists.newArrayList();
64 65
65 for (ControllerNode node : clusterService.getNodes()) { 66 for (ControllerNode node : clusterService.getNodes()) {
66 - TcpMember member = new TcpMember(node.ip().toString(), node.tcpPort()); 67 + TcpMember member = new TcpMember(node.ip().toString(), node.tcpPort() + 1);
67 if (!member.equals(localMember)) { 68 if (!member.equals(localMember)) {
68 remoteMembers.add(member); 69 remoteMembers.add(member);
69 } 70 }
......