holo-client/src/main/java/com/alibaba/hologres/client/BinlogShardGroupReader.java [56:77]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	private void tryFetch(long target) throws InterruptedException, TimeoutException, HoloClientException {
		if (buffer.size() <= bufferPosition) {
			if (buffer.size() > 0) {
				buffer.clear();
			}
			BinlogRecord r = null;
			while (r == null) {
				if (null != collector.getException()) {
					throw collector.getException();
				}
				if (System.nanoTime() > target) {
					throw new TimeoutException();
				}
				r = queue.poll(1000, TimeUnit.MILLISECONDS);
				if (r != null) {
					buffer.add(r);
					queue.drainTo(buffer);
					bufferPosition = 0;
				}
			}
		}
	}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



holo-client/src/main/java/com/alibaba/hologres/client/BinlogPartitionGroupReader.java [107:128]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private void tryFetch(long target) throws InterruptedException, TimeoutException, HoloClientException {
        if (buffer.size() <= bufferPosition) {
            if (buffer.size() > 0) {
                buffer.clear();
            }
            BinlogRecord r = null;
            while (r == null) {
                if (null != collector.getException()) {
                    throw collector.getException();
                }
                if (System.nanoTime() > target) {
                    throw new TimeoutException();
                }
                r = queue.poll(1000, TimeUnit.MILLISECONDS);
                if (r != null) {
                    buffer.add(r);
                    queue.drainTo(buffer);
                    bufferPosition = 0;
                }
            }
        }
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



