[
https://issues.apache.org/jira/browse/IGNITE-29172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18134209#comment-18134209
]
Ignite TC Bot commented on IGNITE-29172:
----------------------------------------
{panel:title=Branch: [pull/13758/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/13758/head] Base: [master] : New Tests
(17)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Thin Client: Java{color} [[tests
3|https://ci2.ignite.apache.org/viewLog.html?buildId=9453741]]
* {color:#013220}ClientTestSuite: thin.CacheConfigurationTest - PASSED{color}
* {color:#013220}ClientTestSuite:
BinaryMetadataChannelFailureTest.testChannelFailureDuringBuild[differentValue =
false] - PASSED{color}
* {color:#013220}ClientTestSuite:
BinaryMetadataChannelFailureTest.testChannelFailureDuringBuild[differentValue =
true] - PASSED{color}
{color:#00008b}Client Nodes{color} [[tests
2|https://ci2.ignite.apache.org/viewLog.html?buildId=9453685]]
* {color:#013220}IgniteClientReconnectTestSuite:
IgniteClientReconnectCustomBinaryContextTest.testReconnect - PASSED{color}
* {color:#013220}IgniteClientReconnectTestSuite:
IgniteClientReconnectBinaryContextTest.testReconnectCleaningUsersMetadata -
PASSED{color}
{color:#00008b}Calcite SQL 1{color} [[tests
12|https://ci2.ignite.apache.org/viewLog.html?buildId=9453683]]
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED, execType=CLIENT,
modify=QUERY, commit=false, multi=false, txConcurrency=OPTIMISTIC -
PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED, execType=SERVER,
modify=QUERY, commit=false, multi=false, txConcurrency=OPTIMISTIC -
PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=true, mode=PARTITIONED, execType=THIN_VIA_QUERY,
modify=ENTRY_PROCESSOR, commit=true, multi=true, txConcurrency=PESSIMISTIC -
PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED,
execType=THIN_VIA_QUERY, modify=ENTRY_PROCESSOR, commit=true, multi=true,
txConcurrency=PESSIMISTIC - PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=true, mode=PARTITIONED,
execType=THIN_VIA_CACHE_API, modify=QUERY, commit=false, multi=false,
txConcurrency=OPTIMISTIC - PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED,
execType=THIN_VIA_CACHE_API, modify=QUERY, commit=false, multi=false,
txConcurrency=OPTIMISTIC - PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED, execType=SERVER,
modify=ENTRY_PROCESSOR, commit=true, multi=true, txConcurrency=PESSIMISTIC -
PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=true, mode=PARTITIONED, execType=THIN_VIA_QUERY,
modify=ENTRY_PROCESSOR, commit=true, multi=true, txConcurrency=OPTIMISTIC -
PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED,
execType=THIN_VIA_QUERY, modify=ENTRY_PROCESSOR, commit=true, multi=true,
txConcurrency=OPTIMISTIC - PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=true, mode=PARTITIONED,
execType=THIN_VIA_CACHE_API, modify=ENTRY_PROCESSOR, commit=true, multi=true,
txConcurrency=PESSIMISTIC - PASSED{color}
*
{color:#013220}org.apache.ignite.internal.processors.tx.SqlTransactionsIsolationTest.gridCnt=1,
backups=0, partitionAwareness=false, mode=PARTITIONED,
execType=THIN_VIA_CACHE_API, modify=ENTRY_PROCESSOR, commit=true, multi=true,
txConcurrency=PESSIMISTIC - PASSED{color}
... and 1 new tests
{panel}
[TeamCity *--> Run :: All*
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=9453800&buildTypeId=IgniteTests24Java8_RunAll]
{color:#ffffff}tcbot-analysis-comment chainBuildId=9453800
rerunBuildIds=9453966,9453968,9453970,9453972{color}
> Thin client caches incomplete binary type metadata if a channel fails while a
> binary object is being built
> ----------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-29172
> URL: https://issues.apache.org/jira/browse/IGNITE-29172
> Project: Ignite
> Issue Type: Task
> Components: thin client
> Affects Versions: 2.18, 2.19
> Reporter: Aleksandr Nikolaev
> Assignee: Evgeny Stanilovsky
> Priority: Major
> Fix For: 2.20
>
> Attachments: thin-client-binary-metadata-channel-failure.patch
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> If a thin client channel fails while BinaryObjectBuilder.build() is running,
> the client can cache binary type metadata that lacks the fields of the object
> schema. After that, BinaryObject.type().fieldNames() returns an incomplete or
> empty list, while BinaryObject.field(name) still returns correct values.
> Server-side metadata is correct. The client keeps the broken state until the
> next channel failure.
> Cause: on channel failure, TcpIgniteClient clears the metadata cache and the
> schema registry. BinaryObjectBuilderImpl.serializeTo() has already read the
> old cached metadata, so it treats all fields as known and registers the
> schema with no field metadata. ClientBinaryMetadataHandler.addMeta() then
> sends the type to the server, which merges it correctly, and caches this
> partial metadata locally. Later reads find the schema in the registry and
> never reload the metadata.
> Reproducer: BinaryMetadataChannelFailureTest (patch attached) drops thin
> client connections while the builder resolves field IDs.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)