diff --git oak-segment-tar/pom.xml oak-segment-tar/pom.xml index f5a3f514a6..964692e20c 100644 --- oak-segment-tar/pom.xml +++ oak-segment-tar/pom.xml @@ -33,7 +33,7 @@ Oak Segment Tar - 4.0.41.Final + 4.1.14.Final diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClient.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClient.java index a5f0384821..f9d9e2bcab 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClient.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClient.java @@ -33,7 +33,7 @@ import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.codec.LengthFieldBasedFrameDecoder; -import io.netty.handler.codec.compression.SnappyFramedDecoder; +import io.netty.handler.codec.compression.SnappyFrameDecoder; import io.netty.handler.codec.string.StringEncoder; import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder; @@ -116,7 +116,7 @@ class StandbyClient implements AutoCloseable { // Decoders - p.addLast(new SnappyFramedDecoder(true)); + p.addLast(new SnappyFrameDecoder(true)); // The frame length limits the chunk size to max. 2.2GB diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ChunkedBlobStream.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ChunkedBlobStream.java index d76c067525..aac011f8a1 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ChunkedBlobStream.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ChunkedBlobStream.java @@ -105,17 +105,22 @@ public class ChunkedBlobStream implements ChunkedInput { @Override public ByteBuf readChunk(ChannelHandlerContext ctx) throws Exception { + return readChunk(ctx.alloc()); + } + + @Override + public ByteBuf readChunk(ByteBufAllocator allocator) throws Exception { if (isEndOfInput()) { return null; } boolean release = true; - ByteBuf decorated = ctx.alloc().buffer(); + ByteBuf decorated = allocator.buffer(); try { - ByteBuf buffer = ctx.alloc().buffer(); + ByteBuf buffer = allocator.buffer(); int written = buffer.writeBytes(in, chunkSize); - decorated = decorateRawBuffer(ctx.alloc(), buffer); + decorated = decorateRawBuffer(allocator, buffer); offset += written; log.info("Sending chunk {}/{} of size {} to client {}", roundDiv(offset, chunkSize), @@ -169,4 +174,14 @@ public class ChunkedBlobStream implements ChunkedInput { return mask; } + + @Override + public long length() { + return length; + } + + @Override + public long progress() { + return offset; + } } diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java index f4dc0684ec..e1cca9472e 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java @@ -34,7 +34,7 @@ import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.codec.LineBasedFrameDecoder; -import io.netty.handler.codec.compression.SnappyFramedEncoder; +import io.netty.handler.codec.compression.SnappyFrameEncoder; import io.netty.handler.codec.string.StringDecoder; import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder; @@ -165,7 +165,7 @@ class StandbyServer implements AutoCloseable { // Snappy Encoder - p.addLast(new SnappyFramedEncoder()); + p.addLast(new SnappyFrameEncoder()); // Use chunking transparently diff --git oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java index b7da605d36..75f1f98bc0 100644 --- oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java +++ oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java @@ -171,7 +171,7 @@ public abstract class DataStoreTestBase extends TestBase { addTestContentOnTheFly(store, "server", blobSize, seed); try ( - StandbyServerSync serverSync = new StandbyServerSync(serverPort.getPort(), primary, 128 * MB); + StandbyServerSync serverSync = new StandbyServerSync(serverPort.getPort(), primary, 16 * MB); StandbyClientSync cl = newStandbyClientSync(secondary, serverPort.getPort(), 15_000) ) { serverSync.start();