[
https://issues.apache.org/jira/browse/KUDU-3483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xixu Wang updated KUDU-3483:
----------------------------
Description:
*1.The problem*
Flush multiple data in auto_flush_background mode maybe fail when the table
schema has changed. The following is the error message:
!image-2023-05-30-16-12-20-361.png!
*2.How to repeat the case*
{code:java}
KuduTable table = createTable(ImmutableList.of());
// Add a row with addNullableDef=null
final KuduSession session = client.newSession();
session.setFlushMode(SessionConfiguration.FlushMode.AUTO_FLUSH_BACKGROUND);
Insert insert = table.newInsert();
PartialRow row = insert.getRow();
row.addInt("c0", 101);
row.addInt("c1", 101);
session.apply(insert);
// Add some new columns.
client.alterTable(tableName, new AlterTableOptions()
.addColumn("addNonNull", Type.INT32, 100)
.addNullableColumn("addNullable", Type.INT32)
.addNullableColumn("addNullableDef", Type.INT32, 200));
// Reopen table for the new schema.
table = client.openTable(tableName);
assertEquals(5, table.getSchema().getColumnCount());
Insert newinsert = table.newInsert();
PartialRow newrow = newinsert.getRow();
newrow.addInt("c0", 101);
newrow.addInt("c1", 101);
newrow.addInt("addNonNull", 101);
newrow.addInt("addNullable", 101);
newrow.setNull("addNullableDef");
session.apply(newinsert);
session.flush(); {code}
was:When flush multiple data in
> Flush multiple data in AUTO_FLUSH_BACKGROUND mode maybe fail when the table
> schema has changed
> ----------------------------------------------------------------------------------------------
>
> Key: KUDU-3483
> URL: https://issues.apache.org/jira/browse/KUDU-3483
> Project: Kudu
> Issue Type: Bug
> Reporter: Xixu Wang
> Priority: Major
> Attachments: image-2023-05-30-16-12-20-361.png
>
>
>
> *1.The problem*
> Flush multiple data in auto_flush_background mode maybe fail when the table
> schema has changed. The following is the error message:
> !image-2023-05-30-16-12-20-361.png!
>
> *2.How to repeat the case*
>
> {code:java}
> KuduTable table = createTable(ImmutableList.of());
> // Add a row with addNullableDef=null
> final KuduSession session = client.newSession();
> session.setFlushMode(SessionConfiguration.FlushMode.AUTO_FLUSH_BACKGROUND);
>
> Insert insert = table.newInsert();
> PartialRow row = insert.getRow();
> row.addInt("c0", 101);
> row.addInt("c1", 101);
> session.apply(insert);
> // Add some new columns.
> client.alterTable(tableName, new AlterTableOptions()
> .addColumn("addNonNull", Type.INT32, 100)
> .addNullableColumn("addNullable", Type.INT32)
> .addNullableColumn("addNullableDef", Type.INT32, 200));
>
> // Reopen table for the new schema.
> table = client.openTable(tableName);
> assertEquals(5, table.getSchema().getColumnCount());
> Insert newinsert = table.newInsert();
> PartialRow newrow = newinsert.getRow();
> newrow.addInt("c0", 101);
> newrow.addInt("c1", 101);
> newrow.addInt("addNonNull", 101);
> newrow.addInt("addNullable", 101);
> newrow.setNull("addNullableDef");
> session.apply(newinsert);
> session.flush(); {code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)