public static WireCommand readFrom(DataInput in, int length) throws IOException { long requestId = in.readLong(); String target = in.readUTF(); String source = in.readUTF(); String delegationToken = in.readUTF(); return new MergeSegments(requestId, target, source, delegationToken); } }
return t instanceof WireCommands.StreamSegmentInfo && ((WireCommands.StreamSegmentInfo) t).exists(); })); processor.mergeSegments(new WireCommands.MergeSegments(3, streamSegmentName, transactionName, "")); order.verify(connection).send(new WireCommands.SegmentsMerged(3, streamSegmentName, transactionName)); processor.getStreamSegmentInfo(new WireCommands.GetStreamSegmentInfo(4, transactionName, "")); store.sealStreamSegment(txnName, Duration.ZERO).join(); processor.mergeSegments(new WireCommands.MergeSegments(3, streamSegmentName, transactionName, "")); order.verify(connection).send(new WireCommands.SegmentsMerged(3, streamSegmentName, transactionName)); processor.getStreamSegmentInfo(new WireCommands.GetStreamSegmentInfo(4, transactionName, ""));
WireCommands.MergeSegments request = new WireCommands.MergeSegments(idGenerator.get(), qualifiedNameTarget, transactionName, delegationToken); sendRequestAsync(request, replyProcessor, result, clientCF, ModelHelper.encode(uri));
String transactionName = StreamSegmentNameUtils.getTransactionNameFromId(streamSegmentName, txnId); processor.createSegment(new WireCommands.CreateSegment(1, transactionName, WireCommands.CreateSegment.NO_SCALE, 0, "")); processor.mergeSegments(new WireCommands.MergeSegments(2, streamSegmentName, transactionName, "")); verify(mockedDynamicLogger).incCounterValue(nameFromSegment(SEGMENT_WRITE_BYTES, streamSegmentName), 100); verify(mockedDynamicLogger).incCounterValue(nameFromSegment(SEGMENT_WRITE_EVENTS, streamSegmentName), 10); transactionName = StreamSegmentNameUtils.getTransactionNameFromId(streamSegmentName, txnId); processor.createSegment(new WireCommands.CreateSegment(1, transactionName, WireCommands.CreateSegment.NO_SCALE, 0, "")); processor.mergeSegments(new WireCommands.MergeSegments(2, streamSegmentName, transactionName, "")); verify(mockedDynamicLogger, never()).incCounterValue(nameFromSegment(SEGMENT_WRITE_BYTES, streamSegmentName), 100); verify(mockedDynamicLogger, never()).incCounterValue(nameFromSegment(SEGMENT_WRITE_EVENTS, streamSegmentName), 10);
processor.mergeSegments(new WireCommands.MergeSegments(2, streamSegmentName, transactionName, "")); order.verify(connection).send(new WireCommands.SegmentsMerged(2, streamSegmentName, transactionName)); processor.mergeSegments(new WireCommands.MergeSegments(4, streamSegmentName, transactionName, ""));
sendRequestOverNewConnection(new WireCommands.MergeSegments(idGenerator.get(), segment.getScopedName(), StreamSegmentNameUtils.getTransactionNameFromId(segment.getScopedName(), txId), ""), replyProcessor, result); return result;
@Override public void mergeSegments(MergeSegments mergeSegments) { final String operation = "mergeSegments"; if (!verifyToken(mergeSegments.getSource(), mergeSegments.getRequestId(), mergeSegments.getDelegationToken(), operation)) { return; } log.info(mergeSegments.getRequestId(), "Merging Segments {} ", mergeSegments); segmentStore.mergeStreamSegment(mergeSegments.getTarget(), mergeSegments.getSource(), TIMEOUT) .thenAccept(txnProp -> { recordStatForTransaction(txnProp, mergeSegments.getTarget()); connection.send(new WireCommands.SegmentsMerged(mergeSegments.getRequestId(), mergeSegments.getTarget(), mergeSegments.getSource())); }) .exceptionally(e -> { if (Exceptions.unwrap(e) instanceof StreamSegmentMergedException) { log.info(mergeSegments.getRequestId(), "Stream segment is already merged '{}'.", mergeSegments.getSource()); connection.send(new WireCommands.SegmentsMerged(mergeSegments.getRequestId(), mergeSegments.getTarget(), mergeSegments.getSource())); return null; } else { return handleException(mergeSegments.getRequestId(), mergeSegments.getSource(), operation, e); } }); }
@Test public void testMergeSegments() throws IOException { testCommand(new WireCommands.MergeSegments(l, testString1, testString2, "")); }
@Test public void mergeSegments() { processor.mergeSegments(new WireCommands.MergeSegments(100L, "segment", "segment2", "token")); verify(connection).send(new WireCommands.AuthTokenCheckFailed(100L, "")); }