[
https://issues.apache.org/jira/browse/IGNITE-28348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-28348:
------------------------------------
Description:
We need to fix flaky DataReplicationOperationsTest. See
https://ci2.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=-2244900484209781876&tab=testDetails
for more details.
The cause of test failure is the ClientCacheRequest#cachex method which
searches for the requested cache descriptor and, if present, unconditionally
obtains corresponding cache proxy.
The cache proxy may not be initialized even if the cache descriptor is present
(PME caused by cache start is still in progress). In this case IgniteEx#cachex
returns null causing a NullPointerExeption.
The test also facing the problem when node0 starts the cache method.
createCache method returns but PME callbacks have not finished on the node1.
The thin client sends cache request to node1 and got NPE - it is possible
because of partitionAwareness/clusterDiscovery features.
We can consider the following ways to fix this issue:
- simply double check the cache existence after both calling
ClientCacheRequest#cacheDescriptor and IgniteEx#cachex.
- try using the cache proxy initialization wait mechanism - see
GridCacheProcessor#awaitInitializeProxy
was:
We need to fix flaky DataReplicationOperationsTest. See
https://ci2.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=-2244900484209781876&tab=testDetails
for more details.
The cause of test failure is the ClientCacheRequest#cachex method which
searches for the requested cache descriptor and, if present, unconditionally
obtains corresponding cache proxy.
The cache proxy may not be initialized even if the cache descriptor is present
(PME caused by cache start is still in progress). In this case IgniteEx#cachex
returns null causing a NullPointerExeption.
We can consider the following ways to fix this issue:
- simply double check the cache existence after both calling
ClientCacheRequest#cacheDescriptor and IgniteEx#cachex.
- try using the cache proxy initialization wait mechanism - see
GridCacheProcessor#awaitInitializeProxy
> [Thin client] NullPointerException while executing
> putAllConflict/removeAllConflict requests
> --------------------------------------------------------------------------------------------
>
> Key: IGNITE-28348
> URL: https://issues.apache.org/jira/browse/IGNITE-28348
> Project: Ignite
> Issue Type: Bug
> Reporter: Mikhail Petrov
> Assignee: Mikhail Petrov
> Priority: Minor
> Labels: ise
> Fix For: 2.19
>
>
> We need to fix flaky DataReplicationOperationsTest. See
> https://ci2.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=-2244900484209781876&tab=testDetails
> for more details.
> The cause of test failure is the ClientCacheRequest#cachex method which
> searches for the requested cache descriptor and, if present, unconditionally
> obtains corresponding cache proxy.
> The cache proxy may not be initialized even if the cache descriptor is
> present (PME caused by cache start is still in progress). In this case
> IgniteEx#cachex returns null causing a NullPointerExeption.
> The test also facing the problem when node0 starts the cache method.
> createCache method returns but PME callbacks have not finished on the node1.
> The thin client sends cache request to node1 and got NPE - it is possible
> because of partitionAwareness/clusterDiscovery features.
> We can consider the following ways to fix this issue:
> - simply double check the cache existence after both calling
> ClientCacheRequest#cacheDescriptor and IgniteEx#cachex.
> - try using the cache proxy initialization wait mechanism - see
> GridCacheProcessor#awaitInitializeProxy
--
This message was sent by Atlassian Jira
(v8.20.10#820010)