From b8506be6930556e8d6926173c6e8ff502e1a2285 Mon Sep 17 00:00:00 2001 From: ggzone Date: Mon, 30 Sep 2019 09:57:21 +0800 Subject: [PATCH] =?UTF-8?q?[Fix]=E8=A7=A3=E5=86=B3=E6=9C=80=E7=BB=88metric?= =?UTF-8?q?=E4=B8=AD=E8=AF=BB=E5=86=99=E8=AE=B0=E5=BD=95=E6=95=B0=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98=EF=BC=8C=E5=8E=9F=E5=9B=A0?= =?UTF-8?q?WRITE=5FRECEIVED=5FRECORDS=E6=8A=8ATerminateRecord=E6=A0=87?= =?UTF-8?q?=E8=AF=86=E8=AE=B0=E5=BD=95=E7=BB=9F=E8=AE=A1=E5=9C=A8=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datax/core/transport/channel/Channel.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/alibaba/datax/core/transport/channel/Channel.java b/core/src/main/java/com/alibaba/datax/core/transport/channel/Channel.java index 8d4f1f67..a6bd6594 100755 --- a/core/src/main/java/com/alibaba/datax/core/transport/channel/Channel.java +++ b/core/src/main/java/com/alibaba/datax/core/transport/channel/Channel.java @@ -141,14 +141,24 @@ public abstract class Channel { public Record pull() { Record record = this.doPull(); - this.statPull(1L, record.getByteSize()); + if (!(record instanceof TerminateRecord)) { + this.statPull(1L, record.getByteSize()); + } return record; } public void pullAll(final Collection rs) { Validate.notNull(rs); this.doPullAll(rs); - this.statPull(rs.size(), this.getByteSize(rs)); + if (rs.size() > 0) { + Record record = (Record) rs.toArray()[rs.size() - 1]; + //TerminateRecord的bytesize=0,无需特殊处理 + if (record instanceof TerminateRecord) { + this.statPull(rs.size() - 1, this.getByteSize(rs)); + } else{ + this.statPull(rs.size(), this.getByteSize(rs)); + } + } } protected abstract void doPush(Record r);