@Override public FetchRequest build(short version) { if (version < 3) { maxBytes = DEFAULT_RESPONSE_MAX_BYTES; } return new FetchRequest(version, replicaId, maxWait, minBytes, maxBytes, fetchData, isolationLevel, toForget, metadata); }
@Override public boolean matches(final AbstractRequest body) { return body instanceof FetchRequest && ((FetchRequest) body).fetchData().containsKey(tp0); } }, fetchResponse(tp0, 1, 1), node);
@Test public void testFetchRequestMaxBytesOldVersions() throws Exception { final short version = 1; FetchRequest fr = createFetchRequest(version); FetchRequest fr2 = new FetchRequest(fr.toStruct(), version); assertEquals(fr2.maxBytes(), fr.maxBytes()); }
@Test public void testFetchRequestIsolationLevel() throws Exception { FetchRequest request = createFetchRequest(4, IsolationLevel.READ_COMMITTED); Struct struct = request.toStruct(); FetchRequest deserialized = (FetchRequest) deserialize(request, struct, request.version()); assertEquals(request.isolationLevel(), deserialized.isolationLevel()); request = createFetchRequest(4, IsolationLevel.READ_UNCOMMITTED); struct = request.toStruct(); deserialized = (FetchRequest) deserialize(request, struct, request.version()); assertEquals(request.isolationLevel(), deserialized.isolationLevel()); }
@Override protected Struct toStruct() { Struct struct = new Struct(ApiKeys.FETCH.requestSchema(version())); List<TopicAndPartitionData<PartitionData>> topicsData = TopicAndPartitionData.batchByTopic(fetchData.entrySet().iterator());
@Override public boolean matches(AbstractRequest body) { FetchRequest request = (FetchRequest) body; assertEquals(IsolationLevel.READ_COMMITTED, request.isolationLevel()); return true; } }, fullFetchResponseWithAbortedTransactions(records, abortedTransactions, Errors.NONE, 100L, 100L, 0));
@Test public void testFetchRequestWithMetadata() throws Exception { FetchRequest request = createFetchRequest(4, IsolationLevel.READ_COMMITTED); Struct struct = request.toStruct(); FetchRequest deserialized = (FetchRequest) deserialize(request, struct, request.version()); assertEquals(request.isolationLevel(), deserialized.isolationLevel()); request = createFetchRequest(4, IsolationLevel.READ_UNCOMMITTED); struct = request.toStruct(); deserialized = (FetchRequest) deserialize(request, struct, request.version()); assertEquals(request.isolationLevel(), deserialized.isolationLevel()); }
@Override public boolean matches(AbstractRequest body) { FetchRequest request = (FetchRequest) body; assertEquals(IsolationLevel.READ_COMMITTED, request.isolationLevel()); return true; } }, fullFetchResponseWithAbortedTransactions(records, abortedTransactions, Errors.NONE, 100L, 100L, 0));
public static FetchRequest parse(ByteBuffer buffer, short version) { return new FetchRequest(ApiKeys.FETCH.parseRequest(version, buffer), version); }
return new ProduceRequest(struct, apiVersion); case FETCH: return new FetchRequest(struct, apiVersion); case LIST_OFFSETS: return new ListOffsetRequest(struct, apiVersion);
public static FetchRequest parse(ByteBuffer buffer) { return new FetchRequest(((Struct) curSchema.read(buffer))); } }
FetchRequest fetchRequest = (FetchRequest) request.requestBuilder().build(); LinkedHashMap<TopicPartition, FetchResponse.PartitionData<MemoryRecords>> responseMap = new LinkedHashMap<>(); for (Map.Entry<TopicPartition, FetchRequest.PartitionData> entry : fetchRequest.fetchData().entrySet()) { TopicPartition tp = entry.getKey(); long offset = entry.getValue().fetchOffset;