You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2016/09/15 14:03:06 UTC
svn commit: r1760934 [2/2] - in /jackrabbit/oak/trunk/oak-segment-tar/src:
main/java/org/apache/jackrabbit/oak/segment/standby/client/
main/java/org/apache/jackrabbit/oak/segment/standby/codec/
main/java/org/apache/jackrabbit/oak/segment/standby/server...
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbySegmentReader.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbySegmentReader.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbySegmentReader.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbySegmentReader.java Thu Sep 15 14:03:05 2016
@@ -17,9 +17,11 @@
package org.apache.jackrabbit.oak.segment.standby.server;
+import java.io.IOException;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
+import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.jackrabbit.oak.segment.Segment;
import org.apache.jackrabbit.oak.segment.SegmentId;
import org.apache.jackrabbit.oak.segment.SegmentNotFoundException;
@@ -38,12 +40,27 @@ class DefaultStandbySegmentReader implem
}
@Override
- public Segment readSegment(UUID uuid) {
+ public byte[] readSegment(String segmentId) {
+ UUID uuid = UUID.fromString(segmentId);
long msb = uuid.getMostSignificantBits();
long lsb = uuid.getLeastSignificantBits();
- SegmentId id = store.newSegmentId(msb, lsb);
+ Segment segment = readSegment(store.newSegmentId(msb, lsb));
+ if (segment == null) {
+ return null;
+ }
+
+ try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) {
+ segment.writeTo(stream);
+ return stream.toByteArray();
+ } catch (IOException e) {
+ log.warn("Error while reading segment content", e);
+ return null;
+ }
+ }
+
+ private Segment readSegment(SegmentId id) {
for (int i = 0; i < 10; i++) {
try {
return store.readSegment(id);
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandler.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandler.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandler.java Thu Sep 15 14:03:05 2016
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.segmen
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
-import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobRequest;
import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobResponse;
import org.slf4j.Logger;
@@ -39,14 +38,14 @@ class GetBlobRequestHandler extends Simp
protected void channelRead0(ChannelHandlerContext ctx, GetBlobRequest msg) throws Exception {
log.debug("Reading blob {} for client {}", msg.getBlobId(), msg.getClientId());
- Blob blob = reader.readBlob(msg.getBlobId());
+ byte[] data = reader.readBlob(msg.getBlobId());
- if (blob == null) {
+ if (data == null) {
log.debug("Blob {} not found, discarding request from client {}", msg.getBlobId(), msg.getClientId());
return;
}
- ctx.writeAndFlush(new GetBlobResponse(msg.getClientId(), blob));
+ ctx.writeAndFlush(new GetBlobResponse(msg.getClientId(), msg.getBlobId(), data));
}
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandler.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandler.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandler.java Thu Sep 15 14:03:05 2016
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.segmen
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
-import org.apache.jackrabbit.oak.segment.RecordId;
import org.apache.jackrabbit.oak.segment.standby.codec.GetHeadRequest;
import org.apache.jackrabbit.oak.segment.standby.codec.GetHeadResponse;
import org.slf4j.Logger;
@@ -43,7 +42,7 @@ class GetHeadRequestHandler extends Simp
protected void channelRead0(ChannelHandlerContext ctx, GetHeadRequest msg) throws Exception {
log.debug("Reading head for client {}", msg.getClientId());
- RecordId id = reader.readHeadRecordId();
+ String id = reader.readHeadRecordId();
if (id == null) {
log.debug("Head not found, discarding request from client {}", msg.getClientId());
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandler.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandler.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandler.java Thu Sep 15 14:03:05 2016
@@ -39,14 +39,18 @@ class GetSegmentRequestHandler extends S
protected void channelRead0(ChannelHandlerContext ctx, GetSegmentRequest msg) throws Exception {
log.debug("Reading segment {} for client {}", msg.getSegmentId(), msg.getClientId());
- Segment segment = reader.readSegment(msg.getSegmentId());
+ byte[] data = reader.readSegment(msg.getSegmentId());
- if (segment == null) {
+ if (data == null) {
log.debug("Segment {} not found, discarding request from client {}", msg.getSegmentId(), msg.getClientId());
return;
}
- ctx.writeAndFlush(new GetSegmentResponse(msg.getClientId(), segment));
+ ctx.writeAndFlush(new GetSegmentResponse(msg.getClientId(), msg.getSegmentId(), data));
+ }
+
+ private String getId(Segment segment) {
+ return segment.getSegmentId().asUUID().toString();
}
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/ResponseObserverHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/ResponseObserverHandler.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/ResponseObserverHandler.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/ResponseObserverHandler.java Thu Sep 15 14:03:05 2016
@@ -48,11 +48,11 @@ class ResponseObserverHandler extends Ch
}
private void onGetSegmentResponse(GetSegmentResponse response) {
- observer.didSendSegmentBytes(response.getClientId(), response.getSegment().size());
+ observer.didSendSegmentBytes(response.getClientId(), response.getSegmentData().length);
}
private void onGetBlobResponse(GetBlobResponse response) {
- observer.didSendBinariesBytes(response.getClientId(), (int) Math.max(0, response.getBlob().length()));
+ observer.didSendBinariesBytes(response.getClientId(), (int) Math.max(0, response.getBlobData().length));
}
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyBlobReader.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyBlobReader.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyBlobReader.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyBlobReader.java Thu Sep 15 14:03:05 2016
@@ -17,10 +17,8 @@
package org.apache.jackrabbit.oak.segment.standby.server;
-import org.apache.jackrabbit.oak.api.Blob;
-
interface StandbyBlobReader {
- Blob readBlob(String blobId);
+ byte[] readBlob(String blobId);
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyHeadReader.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyHeadReader.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyHeadReader.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyHeadReader.java Thu Sep 15 14:03:05 2016
@@ -17,8 +17,6 @@
package org.apache.jackrabbit.oak.segment.standby.server;
-import org.apache.jackrabbit.oak.segment.RecordId;
-
/**
* Read the head record ID.
*/
@@ -30,6 +28,6 @@ interface StandbyHeadReader {
* @return the head record ID or {@code null} if the head record ID can't be
* found.
*/
- RecordId readHeadRecordId();
+ String readHeadRecordId();
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbySegmentReader.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbySegmentReader.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbySegmentReader.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbySegmentReader.java Thu Sep 15 14:03:05 2016
@@ -17,12 +17,8 @@
package org.apache.jackrabbit.oak.segment.standby.server;
-import java.util.UUID;
-
-import org.apache.jackrabbit.oak.segment.Segment;
-
interface StandbySegmentReader {
- Segment readSegment(UUID segmentId);
+ byte[] readSegment(String segmentId);
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java Thu Sep 15 14:03:05 2016
@@ -46,12 +46,10 @@ import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.util.SelfSignedCertificate;
import io.netty.util.CharsetUtil;
import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobRequestDecoder;
import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobResponseEncoder;
-import org.apache.jackrabbit.oak.segment.standby.codec.GetHeadRequestDecoder;
import org.apache.jackrabbit.oak.segment.standby.codec.GetHeadResponseEncoder;
-import org.apache.jackrabbit.oak.segment.standby.codec.GetSegmentRequestDecoder;
import org.apache.jackrabbit.oak.segment.standby.codec.GetSegmentResponseEncoder;
+import org.apache.jackrabbit.oak.segment.standby.codec.RequestDecoder;
import org.apache.jackrabbit.oak.segment.standby.jmx.StandbyStatusMBean;
import org.apache.jackrabbit.oak.segment.standby.store.CommunicationObserver;
import org.slf4j.Logger;
@@ -131,9 +129,7 @@ public class StandbyServer implements St
p.addLast(new LineBasedFrameDecoder(8192));
p.addLast(new StringDecoder(CharsetUtil.UTF_8));
- p.addLast(new GetHeadRequestDecoder());
- p.addLast(new GetSegmentRequestDecoder());
- p.addLast(new GetBlobRequestDecoder());
+ p.addLast(new RequestDecoder());
p.addLast(new StateHandler(newStateConsumer()));
p.addLast(new RequestObserverHandler(observer));
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStoreService.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStoreService.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/store/StandbyStoreService.java Thu Sep 15 14:03:05 2016
@@ -38,7 +38,7 @@ import org.apache.jackrabbit.oak.commons
import org.apache.jackrabbit.oak.segment.SegmentStore;
import org.apache.jackrabbit.oak.segment.SegmentStoreProvider;
import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
@@ -95,7 +95,8 @@ public class StandbyStoreService {
private FileStore fileStore;
private StandbyServer primary = null;
- private StandbyClient sync = null;
+
+ private StandbySync sync = null;
private ServiceRegistration syncReg = null;
@@ -157,7 +158,7 @@ public class StandbyStoreService {
int readTimeout = PropertiesUtil.toInteger(props.get(READ_TIMEOUT), READ_TIMEOUT_DEFAULT);
boolean clean = PropertiesUtil.toBoolean(props.get(AUTO_CLEAN), AUTO_CLEAN_DEFAULT);
- sync = new StandbyClient(host, port, fileStore, secure, readTimeout, clean);
+ sync = new StandbySync(host, port, fileStore, secure, readTimeout, clean);
Dictionary<Object, Object> dictionary = new Hashtable<Object, Object>();
dictionary.put("scheduler.period", interval);
dictionary.put("scheduler.concurrent", false);
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/BrokenNetworkTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/BrokenNetworkTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/BrokenNetworkTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/BrokenNetworkTest.java Thu Sep 15 14:03:05 2016
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertFal
import org.apache.jackrabbit.oak.segment.NetworkErrorProxy;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
@@ -126,7 +126,7 @@ public class BrokenNetworkTest extends T
addTestContent(store, "server");
storeS.flush(); // this speeds up the test a little bit...
- StandbyClient cl = newStandbyClient(storeC, proxyPort, ssl);
+ StandbySync cl = newStandbySync(storeC, proxyPort, ssl);
cl.run();
try {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java Thu Sep 15 14:03:05 2016
@@ -42,7 +42,7 @@ import org.apache.jackrabbit.oak.segment
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
import org.apache.jackrabbit.oak.segment.file.FileStore;
import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -112,7 +112,7 @@ public class DataStoreTestBase extends T
byte[] data = addTestContent(store, "server", blobSize);
primary.flush();
- StandbyClient cl = newStandbyClient(secondary);
+ StandbySync cl = newStandbySync(secondary);
cl.run();
try {
@@ -188,7 +188,7 @@ public class DataStoreTestBase extends T
byte[] data = addTestContent(store, "server", blobSize);
primary.flush();
- StandbyClient cl = newStandbyClient(secondary, proxyPort);
+ StandbySync cl = newStandbySync(secondary, proxyPort);
cl.run();
try {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverIPRangeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverIPRangeTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverIPRangeTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverIPRangeTest.java Thu Sep 15 14:03:05 2016
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
@@ -146,7 +146,7 @@ public class FailoverIPRangeTest extends
addTestContent(store, "server");
storeS.flush(); // this speeds up the test a little bit...
- StandbyClient cl = new StandbyClient(host, port, storeC, false, timeout, false);
+ StandbySync cl = new StandbySync(host, port, storeC, false, timeout, false);
cl.run();
try {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverMultipleClientsTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverMultipleClientsTestIT.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverMultipleClientsTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverMultipleClientsTestIT.java Thu Sep 15 14:03:05 2016
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertFal
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
import org.apache.jackrabbit.oak.segment.SegmentTestUtils;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
@@ -50,8 +50,8 @@ public class FailoverMultipleClientsTest
SegmentTestUtils.addTestContent(store, "server");
storeS.flush(); // this speeds up the test a little bit...
- StandbyClient cl1 = newStandbyClient(storeC);
- StandbyClient cl2 = newStandbyClient(storeC2);
+ StandbySync cl1 = newStandbySync(storeC);
+ StandbySync cl2 = newStandbySync(storeC2);
try {
assertFalse("first client has invalid initial store!", storeS.getHead().equals(storeC.getHead()));
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverSslTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverSslTestIT.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverSslTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/FailoverSslTestIT.java Thu Sep 15 14:03:05 2016
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
@@ -52,7 +52,7 @@ public class FailoverSslTestIT extends T
addTestContent(store, "server");
storeS.flush(); // this speeds up the test a little bit...
- StandbyClient cl = newStandbyClient(storeC, port, true);
+ StandbySync cl = newStandbySync(storeC, port, true);
cl.run();
try {
@@ -72,7 +72,7 @@ public class FailoverSslTestIT extends T
addTestContent(store, "server");
storeS.flush(); // this speeds up the test a little bit...
- StandbyClient cl = newStandbyClient(storeC);
+ StandbySync cl = newStandbySync(storeC);
cl.run();
try {
@@ -92,7 +92,7 @@ public class FailoverSslTestIT extends T
addTestContent(store, "server");
storeS.flush(); // this speeds up the test a little bit...
- StandbyClient cl = newStandbyClient(storeC, port, true);
+ StandbySync cl = newStandbySync(storeC, port, true);
cl.run();
try {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/MBeanTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/MBeanTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/MBeanTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/MBeanTest.java Thu Sep 15 14:03:05 2016
@@ -30,7 +30,7 @@ import java.util.Set;
import javax.management.MBeanServer;
import javax.management.ObjectName;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.jmx.StandbyStatusMBean;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.junit.After;
@@ -86,7 +86,7 @@ public class MBeanTest extends TestBase
@Test
public void testClientEmptyConfigNoServer() throws Exception {
- final StandbyClient client = newStandbyClient(storeC);
+ final StandbySync client = newStandbySync(storeC);
client.start();
client.run();
@@ -123,8 +123,8 @@ public class MBeanTest extends TestBase
@Test
public void testClientNoServer() throws Exception {
- System.setProperty(StandbyClient.CLIENT_ID_PROPERTY_NAME, "Foo");
- final StandbyClient client = newStandbyClient(storeC);
+ System.setProperty(StandbySync.CLIENT_ID_PROPERTY_NAME, "Foo");
+ final StandbySync client = newStandbySync(storeC);
client.start();
client.run();
@@ -151,8 +151,8 @@ public class MBeanTest extends TestBase
final StandbyServer server = new StandbyServer(port, this.storeS);
server.start();
- System.setProperty(StandbyClient.CLIENT_ID_PROPERTY_NAME, "Bar");
- final StandbyClient client = newStandbyClient(storeC);
+ System.setProperty(StandbySync.CLIENT_ID_PROPERTY_NAME, "Bar");
+ final StandbySync client = newStandbySync(storeC);
client.start();
client.run();
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/RecoverTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/RecoverTestIT.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/RecoverTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/RecoverTestIT.java Thu Sep 15 14:03:05 2016
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
@@ -55,7 +55,7 @@ public class RecoverTestIT extends TestB
addTestContent(store, "server");
storeS.flush();
- StandbyClient cl = newStandbyClient(storeC);
+ StandbySync cl = newStandbySync(storeC);
try {
assertFalse("stores are not expected to be equal", storeS.getHead().equals(storeC.getHead()));
cl.run();
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTest.java Thu Sep 15 14:03:05 2016
@@ -28,13 +28,14 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Random;
+import com.google.common.io.ByteStreams;
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -44,8 +45,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import com.google.common.io.ByteStreams;
-
public class StandbyTest extends TestBase {
@Before
@@ -71,7 +70,7 @@ public class StandbyTest extends TestBas
byte[] data = addTestContent(store, "server", blobSize, 150);
primary.flush();
- StandbyClient cl = newStandbyClient(secondary);
+ StandbySync cl = newStandbySync(secondary);
cl.run();
try {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java Thu Sep 15 14:03:05 2016
@@ -35,7 +35,7 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -96,7 +96,7 @@ public class StandbyTestIT extends TestB
byte[] data = addTestContent(store, "server", blobSize, dataNodes);
primary.flush();
- StandbyClient cl = newStandbyClient(secondary);
+ StandbySync cl = newStandbySync(secondary);
try {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java Thu Sep 15 14:03:05 2016
@@ -30,7 +30,7 @@ import org.apache.commons.lang3.SystemUt
import org.apache.jackrabbit.oak.commons.CIHelper;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
import org.junit.BeforeClass;
import org.junit.Rule;
@@ -149,18 +149,16 @@ public class TestBase {
return timeout;
}
- public StandbyClient newStandbyClient(FileStore store) throws Exception {
- return newStandbyClient(store, port, false);
+ public StandbySync newStandbySync(FileStore store) throws Exception {
+ return newStandbySync(store, port, false);
}
- public StandbyClient newStandbyClient(FileStore store, int port)
- throws Exception {
- return newStandbyClient(store, port, false);
+ public StandbySync newStandbySync(FileStore store, int port) throws Exception {
+ return newStandbySync(store, port, false);
}
- public StandbyClient newStandbyClient(FileStore store, int port,
- boolean secure) throws Exception {
- return new StandbyClient(LOCALHOST, port, store, secure, timeout, false);
+ public StandbySync newStandbySync(FileStore store, int port, boolean secure) throws Exception {
+ return new StandbySync(LOCALHOST, port, store, secure, timeout, false);
}
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BenchmarkBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BenchmarkBase.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BenchmarkBase.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BenchmarkBase.java Thu Sep 15 14:03:05 2016
@@ -29,7 +29,7 @@ import java.util.concurrent.ScheduledExe
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
public class BenchmarkBase {
@@ -97,16 +97,16 @@ public class BenchmarkBase {
return newFileStore(directory, executor);
}
- public StandbyClient newStandbyClient(FileStore store) throws Exception {
+ public StandbySync newStandbyClient(FileStore store) throws Exception {
return newStandbyClient(store, port, false);
}
- public StandbyClient newStandbyClient(FileStore store, int port) throws Exception {
+ public StandbySync newStandbyClient(FileStore store, int port) throws Exception {
return newStandbyClient(store, port, false);
}
- public StandbyClient newStandbyClient(FileStore store, int port, boolean secure) throws Exception {
- return new StandbyClient(LOCALHOST, port, store, secure, timeout, false);
+ public StandbySync newStandbyClient(FileStore store, int port, boolean secure) throws Exception {
+ return new StandbySync(LOCALHOST, port, store, secure, timeout, false);
}
private static File createTmpTargetDir(String name) throws IOException {
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BulkTransferBenchmark.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BulkTransferBenchmark.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BulkTransferBenchmark.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/benchmark/BulkTransferBenchmark.java Thu Sep 15 14:03:05 2016
@@ -27,7 +27,7 @@ import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
-import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
+import org.apache.jackrabbit.oak.segment.standby.client.StandbySync;
import org.apache.jackrabbit.oak.segment.standby.jmx.StandbyStatusMBean;
import org.apache.jackrabbit.oak.segment.standby.server.StandbyServer;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
@@ -94,8 +94,8 @@ public class BulkTransferBenchmark exten
final StandbyServer server = new StandbyServer(port, storeS, useSSL);
server.start();
- System.setProperty(StandbyClient.CLIENT_ID_PROPERTY_NAME, "Bar");
- StandbyClient cl = newStandbyClient(storeC, port, useSSL);
+ System.setProperty(StandbySync.CLIENT_ID_PROPERTY_NAME, "Bar");
+ StandbySync cl = newStandbyClient(storeC, port, useSSL);
final MBeanServer jmxServer = ManagementFactory.getPlatformMBeanServer();
ObjectName status = new ObjectName(StandbyStatusMBean.JMX_NAME + ",id=*");
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobResponseEncoderTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobResponseEncoderTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobResponseEncoderTest.java Thu Sep 15 14:03:05 2016
@@ -19,42 +19,33 @@ package org.apache.jackrabbit.oak.segmen
import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.hash;
import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.io.ByteArrayInputStream;
import com.google.common.base.Charsets;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
-import org.apache.jackrabbit.oak.api.Blob;
import org.junit.Test;
public class GetBlobResponseEncoderTest {
@Test
public void encodeResponse() throws Exception {
- byte[] data = new byte[] {1, 2, 3};
-
- String contentIdentity = "contentIdentity";
- byte[] contentIdentityBytes = contentIdentity.getBytes(Charsets.UTF_8);
+ byte[] blobData = new byte[] {1, 2, 3};
- Blob blob = mock(Blob.class);
- when(blob.getNewStream()).thenReturn(new ByteArrayInputStream(data));
- when(blob.getContentIdentity()).thenReturn(contentIdentity);
+ String blobId = "blobId";
+ byte[] blobIdBytes = blobId.getBytes(Charsets.UTF_8);
EmbeddedChannel channel = new EmbeddedChannel(new GetBlobResponseEncoder());
- channel.writeOutbound(new GetBlobResponse("clientId", blob));
+ channel.writeOutbound(new GetBlobResponse("clientId", blobId, blobData));
ByteBuf buffer = (ByteBuf) channel.readOutbound();
ByteBuf expected = Unpooled.buffer();
- expected.writeInt(3);
+ expected.writeInt(1 + 4 + blobIdBytes.length + 8 + blobData.length);
expected.writeByte(Messages.HEADER_BLOB);
- expected.writeInt(contentIdentityBytes.length);
- expected.writeBytes(contentIdentityBytes);
- expected.writeLong(hash(data));
- expected.writeBytes(data);
+ expected.writeInt(blobIdBytes.length);
+ expected.writeBytes(blobIdBytes);
+ expected.writeLong(hash(blobData));
+ expected.writeBytes(blobData);
assertEquals(expected, buffer);
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadResponseEncoderTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadResponseEncoderTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadResponseEncoderTest.java Thu Sep 15 14:03:05 2016
@@ -17,30 +17,29 @@
package org.apache.jackrabbit.oak.segment.standby.codec;
-import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.mockRecordId;
import static org.junit.Assert.assertEquals;
import com.google.common.base.Charsets;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
-import org.apache.jackrabbit.oak.segment.RecordId;
import org.junit.Test;
public class GetHeadResponseEncoderTest {
@Test
public void encodeResponse() throws Exception {
- RecordId recordId = mockRecordId(1, 2, 8);
+ String recordId = "recordId";
+ byte[] recordIdBytes = recordId.getBytes(Charsets.UTF_8);
EmbeddedChannel channel = new EmbeddedChannel(new GetHeadResponseEncoder());
- channel.writeOutbound(new GetHeadResponse("clientId", recordId));
+ channel.writeOutbound(new GetHeadResponse("clientId", "recordId"));
ByteBuf buffer = (ByteBuf) channel.readOutbound();
ByteBuf expected = Unpooled.buffer();
- expected.writeInt(recordId.toString().getBytes(Charsets.UTF_8).length + 1);
+ expected.writeInt(recordIdBytes.length + 1);
expected.writeByte(Messages.HEADER_RECORD);
- expected.writeBytes(recordId.toString().getBytes(Charsets.UTF_8));
+ expected.writeBytes(recordIdBytes);
assertEquals(expected, buffer);
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentResponseEncoderTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentResponseEncoderTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentResponseEncoderTest.java Thu Sep 15 14:03:05 2016
@@ -18,7 +18,6 @@
package org.apache.jackrabbit.oak.segment.standby.codec;
import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.hash;
-import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.mockSegment;
import static org.junit.Assert.assertEquals;
import java.util.UUID;
@@ -26,7 +25,6 @@ import java.util.UUID;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
-import org.apache.jackrabbit.oak.segment.Segment;
import org.junit.Test;
public class GetSegmentResponseEncoderTest {
@@ -35,10 +33,9 @@ public class GetSegmentResponseEncoderTe
public void encodeResponse() throws Exception {
UUID uuid = new UUID(1, 2);
byte[] data = new byte[] {3, 4, 5};
- Segment segment = mockSegment(uuid, data);
EmbeddedChannel channel = new EmbeddedChannel(new GetSegmentResponseEncoder());
- channel.writeOutbound(new GetSegmentResponse("clientId", segment));
+ channel.writeOutbound(new GetSegmentResponse("clientId", uuid.toString(), data));
ByteBuf buffer = (ByteBuf) channel.readOutbound();
ByteBuf expected = Unpooled.buffer();
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java?rev=1760934&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java Thu Sep 15 14:03:05 2016
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import io.netty.channel.embedded.EmbeddedChannel;
+import org.junit.Test;
+
+public class RequestDecoderTest {
+
+ @Test
+ public void shouldDecodeValidGetBlobRequests() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new RequestDecoder());
+ channel.writeInbound(Messages.newGetBlobRequest("clientId", "blobId", false));
+ GetBlobRequest request = (GetBlobRequest) channel.readInbound();
+ assertEquals("clientId", request.getClientId());
+ assertEquals("blobId", request.getBlobId());
+ }
+
+ @Test
+ public void shouldDecodeValidGetHeadRequests() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new RequestDecoder());
+ channel.writeInbound(Messages.newGetHeadRequest("clientId", false));
+ GetHeadRequest request = (GetHeadRequest) channel.readInbound();
+ assertEquals("clientId", request.getClientId());
+ }
+
+ @Test
+ public void shouldDecodeValidGetSegmentRequests() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new RequestDecoder());
+ channel.writeInbound(Messages.newGetSegmentRequest("clientId", "segmentId", false));
+ GetSegmentRequest request = (GetSegmentRequest) channel.readInbound();
+ assertEquals("clientId", request.getClientId());
+ assertEquals("segmentId", request.getSegmentId());
+ }
+
+ @Test
+ public void shouldDropInvalidMessages() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new RequestDecoder());
+ channel.writeInbound("Standby-CMD@clientId:z");
+ assertNull(channel.readInbound());
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java?rev=1760934&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java Thu Sep 15 14:03:05 2016
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.hash;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.util.UUID;
+
+import com.google.common.base.Charsets;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import io.netty.channel.embedded.EmbeddedChannel;
+import org.junit.Test;
+
+public class ResponseDecoderTest {
+
+ @Test
+ public void unrecognizedMessagesShouldBeDropped() throws Exception {
+ ByteBuf buf = Unpooled.buffer();
+ buf.writeInt(1);
+ buf.writeByte(-1);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(buf);
+ assertNull(channel.readInbound());
+ }
+
+ @Test
+ public void shouldDecodeValidGetBlobResponses() throws Exception {
+ byte[] blobData = new byte[] {1, 2, 3};
+
+ String blobId = "blobId";
+ byte[] blobIdBytes = blobId.getBytes(Charsets.UTF_8);
+
+ ByteBuf buf = Unpooled.buffer();
+ buf.writeInt(1 + 4 + blobIdBytes.length + 8 + blobData.length);
+ buf.writeByte(Messages.HEADER_BLOB);
+ buf.writeInt(blobIdBytes.length);
+ buf.writeBytes(blobIdBytes);
+ buf.writeLong(hash(blobData));
+ buf.writeBytes(blobData);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(buf);
+ GetBlobResponse response = (GetBlobResponse) channel.readInbound();
+ assertEquals("blobId", response.getBlobId());
+ assertArrayEquals(blobData, response.getBlobData());
+ }
+
+ @Test
+ public void shouldDropInvalidGetBlobResponses() throws Exception {
+ byte[] blobData = new byte[] {1, 2, 3};
+
+ String blobId = "blobId";
+ byte[] blobIdBytes = blobId.getBytes(Charsets.UTF_8);
+
+ ByteBuf buf = Unpooled.buffer();
+ buf.writeInt(1 + 4 + blobIdBytes.length + 8 + blobData.length);
+ buf.writeByte(Messages.HEADER_BLOB);
+ buf.writeInt(blobIdBytes.length);
+ buf.writeBytes(blobIdBytes);
+ buf.writeLong(hash(blobData) + 1);
+ buf.writeBytes(blobData);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(buf);
+ assertNull(channel.readInbound());
+ }
+
+ @Test
+ public void shouldDecodeValidGetHeadResponses() throws Exception {
+ String recordId = "recordId";
+ byte[] recordIdBytes = recordId.getBytes(Charsets.UTF_8);
+
+ ByteBuf in = Unpooled.buffer();
+ in.writeInt(recordIdBytes.length + 1);
+ in.writeByte(Messages.HEADER_RECORD);
+ in.writeBytes(recordIdBytes);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(in);
+ GetHeadResponse response = (GetHeadResponse) channel.readInbound();
+ assertEquals(recordId, response.getHeadRecordId());
+ }
+
+ @Test
+ public void shouldDecodeValidGetSegmentResponses() throws Exception {
+ UUID uuid = new UUID(1, 2);
+ byte[] data = new byte[] {3, 4, 5};
+
+ ByteBuf buf = Unpooled.buffer();
+ buf.writeInt(data.length + 25);
+ buf.writeByte(Messages.HEADER_SEGMENT);
+ buf.writeLong(uuid.getMostSignificantBits());
+ buf.writeLong(uuid.getLeastSignificantBits());
+ buf.writeLong(hash(data));
+ buf.writeBytes(data);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(buf);
+ GetSegmentResponse response = (GetSegmentResponse) channel.readInbound();
+ assertEquals(uuid, UUID.fromString(response.getSegmentId()));
+ assertArrayEquals(data, response.getSegmentData());
+ }
+
+ @Test
+ public void shouldDropInvalidGetSegmentResponses() throws Exception {
+ UUID uuid = new UUID(1, 2);
+ byte[] data = new byte[] {3, 4, 5};
+
+ ByteBuf buf = Unpooled.buffer();
+ buf.writeInt(data.length + 25);
+ buf.writeByte(Messages.HEADER_SEGMENT);
+ buf.writeLong(uuid.getMostSignificantBits());
+ buf.writeLong(uuid.getLeastSignificantBits());
+ buf.writeLong(hash(data) + 1);
+ buf.writeBytes(data);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(buf);
+ assertNull(channel.readInbound());
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandlerTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandlerTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetBlobRequestHandlerTest.java Thu Sep 15 14:03:05 2016
@@ -17,14 +17,13 @@
package org.apache.jackrabbit.oak.segment.standby.server;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import io.netty.channel.embedded.EmbeddedChannel;
-import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobRequest;
import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobResponse;
import org.junit.Test;
@@ -33,16 +32,17 @@ public class GetBlobRequestHandlerTest {
@Test
public void successfulReadsShouldGenerateResponses() throws Exception {
- Blob blob = mock(Blob.class);
+ byte[] blobData = new byte[] {99, 114, 97, 112};
StandbyBlobReader reader = mock(StandbyBlobReader.class);
- when(reader.readBlob("blobId")).thenReturn(blob);
+ when(reader.readBlob("blobId")).thenReturn(blobData);
EmbeddedChannel channel = new EmbeddedChannel(new GetBlobRequestHandler(reader));
channel.writeInbound(new GetBlobRequest("clientId", "blobId"));
GetBlobResponse response = (GetBlobResponse) channel.readOutbound();
assertEquals("clientId", response.getClientId());
- assertSame(blob, response.getBlob());
+ assertEquals("blobId", response.getBlobId());
+ assertArrayEquals(blobData, response.getBlobData());
}
@Test
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandlerTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandlerTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetHeadRequestHandlerTest.java Thu Sep 15 14:03:05 2016
@@ -17,15 +17,12 @@
package org.apache.jackrabbit.oak.segment.standby.server;
-import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.mockRecordId;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import io.netty.channel.embedded.EmbeddedChannel;
-import org.apache.jackrabbit.oak.segment.RecordId;
import org.apache.jackrabbit.oak.segment.standby.codec.GetHeadRequest;
import org.apache.jackrabbit.oak.segment.standby.codec.GetHeadResponse;
import org.junit.Test;
@@ -34,15 +31,13 @@ public class GetHeadRequestHandlerTest {
@Test
public void successfulReadsShouldGenerateResponses() throws Exception {
- RecordId headRecordId = mockRecordId(1, 2, 8);
-
StandbyHeadReader reader = mock(StandbyHeadReader.class);
- when(reader.readHeadRecordId()).thenReturn(headRecordId);
+ when(reader.readHeadRecordId()).thenReturn("recordId");
EmbeddedChannel channel = new EmbeddedChannel(new GetHeadRequestHandler(reader));
channel.writeInbound(new GetHeadRequest("clientId"));
GetHeadResponse response = (GetHeadResponse) channel.readOutbound();
- assertSame(headRecordId, response.getHeadRecordId());
+ assertEquals("recordId", response.getHeadRecordId());
assertEquals("clientId", response.getClientId());
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandlerTest.java?rev=1760934&r1=1760933&r2=1760934&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandlerTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/server/GetSegmentRequestHandlerTest.java Thu Sep 15 14:03:05 2016
@@ -17,17 +17,15 @@
package org.apache.jackrabbit.oak.segment.standby.server;
-import static org.apache.jackrabbit.oak.segment.standby.StandbyTestUtils.mockSegment;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.UUID;
import io.netty.channel.embedded.EmbeddedChannel;
-import org.apache.jackrabbit.oak.segment.Segment;
import org.apache.jackrabbit.oak.segment.standby.codec.GetSegmentRequest;
import org.apache.jackrabbit.oak.segment.standby.codec.GetSegmentResponse;
import org.junit.Test;
@@ -36,18 +34,17 @@ public class GetSegmentRequestHandlerTes
@Test
public void successfulReadsShouldGenerateResponses() throws Exception {
- UUID uuid = new UUID(1, 2);
-
- Segment segment = mockSegment(uuid, new byte[] {3, 4, 5});
+ byte[] data = new byte[] {3, 4, 5};
StandbySegmentReader reader = mock(StandbySegmentReader.class);
- when(reader.readSegment(uuid)).thenReturn(segment);
+ when(reader.readSegment("segmentId")).thenReturn(data);
EmbeddedChannel channel = new EmbeddedChannel(new GetSegmentRequestHandler(reader));
- channel.writeInbound(new GetSegmentRequest("clientId", uuid));
+ channel.writeInbound(new GetSegmentRequest("clientId", "segmentId"));
GetSegmentResponse response = (GetSegmentResponse) channel.readOutbound();
assertEquals("clientId", response.getClientId());
- assertSame(segment, response.getSegment());
+ assertEquals("segmentId", response.getSegmentId());
+ assertArrayEquals(data, response.getSegmentData());
}
@Test
@@ -55,10 +52,10 @@ public class GetSegmentRequestHandlerTes
UUID uuid = new UUID(1, 2);
StandbySegmentReader reader = mock(StandbySegmentReader.class);
- when(reader.readSegment(uuid)).thenReturn(null);
+ when(reader.readSegment(uuid.toString())).thenReturn(null);
EmbeddedChannel channel = new EmbeddedChannel(new GetSegmentRequestHandler(reader));
- channel.writeInbound(new GetSegmentRequest("clientId", uuid));
+ channel.writeInbound(new GetSegmentRequest("clientId", uuid.toString()));
assertNull(channel.readOutbound());
}