[
https://issues.apache.org/jira/browse/IGNITE-18266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mirza Aliev updated IGNITE-18266:
---------------------------------
Description:
We need to improve javadoc of
`org.apache.ignite.internal.table.InternalTable#insert` so it will be more
clear to understand that insert modifies data only at the first invocation.
Return section of this method is not clear, it must descrive the boolean result
of the invocation
was:
The following scenario is not passing, RO get after several puts do not return
recent applied data
{code:java}
@Test
public void testRoGetWithSpecifiedTimestamp() throws ExecutionException,
InterruptedException {
IgniteImpl node = node(0);
Table table = startTable(node, TABLE_NAME);
InternalTable internalTable = ((TableImpl) table).internalTable();
Row keyValueRow = createKeyValueRow(1, 1, "some string row" + 1);
Row keyValueRow2 = createKeyValueRow(1, 2, "some string row" + 2);
Transaction tx1 = node.transactions().begin();
internalTable.insert(keyValueRow, (InternalTransaction) tx1).get();
tx1.commit();
Transaction tx2 = node.transactions().begin();
internalTable.insert(keyValueRow2, (InternalTransaction) tx2).get();
tx2.commit();
BinaryRow res = internalTable.get(keyValueRow2, new
HybridTimestamp(Long.MAX_VALUE - 1000, 0), node.node()).get();
assertEquals(res.valueSlice(), keyValueRow2.valueSlice());
}
private static Table startTable(Ignite node, String tableName) {
List<ColumnDefinition> cols = new ArrayList<>();
cols.add(SchemaBuilders.column("key", ColumnType.INT64).build());
cols.add(SchemaBuilders.column("valInt",
ColumnType.INT32).asNullable(true).build());
cols.add(SchemaBuilders.column("valStr",
ColumnType.string()).withDefaultValue("default").build());
return await(((TableManager) node.tables()).createTableAsync(
tableName,
tblCh -> convert(SchemaBuilders.tableBuilder(SCHEMA,
tableName).columns(
cols).withPrimaryKey("key").build(), tblCh)
.changeReplicas(1)
.changePartitions(1)
));
}
private static Row createKeyValueRow(long id, int value, String str) {
RowAssembler rowBuilder = new RowAssembler(SCHEMA_1, 0, 0);
rowBuilder.appendLong(id);
rowBuilder.appendInt(value);
rowBuilder.appendString(str);
return new Row(SCHEMA_1, new ByteBufferRow(rowBuilder.toBytes()));
}
{code}
> Improve javadoc of the org.apache.ignite.internal.table.InternalTable#insert
> ----------------------------------------------------------------------------
>
> Key: IGNITE-18266
> URL: https://issues.apache.org/jira/browse/IGNITE-18266
> Project: Ignite
> Issue Type: Bug
> Reporter: Mirza Aliev
> Priority: Major
> Labels: ignite-3
>
> We need to improve javadoc of
> `org.apache.ignite.internal.table.InternalTable#insert` so it will be more
> clear to understand that insert modifies data only at the first invocation.
> Return section of this method is not clear, it must descrive the boolean
> result of the invocation
--
This message was sent by Atlassian Jira
(v8.20.10#820010)