holo-client/src/main/java/com/alibaba/hologres/client/BinlogPartitionGroupReader.java [103:124]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    int bufferPosition = 0;
    List<BinlogRecord> buffer = new ArrayList<>();

    //当buffer消费完了就拿一批回来
    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/BinlogShardGroupReader.java [52:73]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	int bufferPosition = 0;
	List<BinlogRecord> buffer = new ArrayList<>();

	//当buffer消费完了就拿一批回来
	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;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



