Wang Xixu has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19949


Change subject: [KUDU-3483] Fixbug of auto flush data when table schema changed
......................................................................

[KUDU-3483] Fixbug of auto flush data when table schema changed

In auto_flush_background mode, applying an operation will firstly
be inserted into the buffer. When the buffer is full or function
flush() is called, it will try to flush multiple data into Kudu
server. Firstly, it will group these data according to the tablet
id as a batch. A batch may contains multiple rows which belong to
the same tablet. Then a batch will encode into bytes. At this time,
it will read the table schema of the first row and decide the format
of the data. If two rows has different schema but belongs to the same
table, which because of altering the table between inserting two rows,
it will cause array index outbound exception.

This patch will validate the schema of two rows which belongs to the
same tablet. If they are different, mark it as an error.

Change-Id: Ie6501962b32814d121f180b2942999c402d927db
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java
2 files changed, 55 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/49/19949/1
--
To view, visit http://gerrit.cloudera.org:8080/19949
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie6501962b32814d121f180b2942999c402d927db
Gerrit-Change-Number: 19949
Gerrit-PatchSet: 1
Gerrit-Owner: Wang Xixu <1450306...@qq.com>

Reply via email to