Pavel Tupitsyn created IGNITE-19355:
---------------------------------------
Summary: .NET: Thin 3.0: Same schema version is retrieved multiple
times in concurrent scenarios
Key: IGNITE-19355
URL: https://issues.apache.org/jira/browse/IGNITE-19355
Project: Ignite
Issue Type: Bug
Components: thin client
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
Fix For: 3.0.0-beta2
When *ClientTable.getSchema* is called, we send a request for the given schema
version every time, even if another request for that version is active (e.g. in
case of multiple concurrent TUPLE_GET requests).
Instead of caching *ClientSchema*, we should cache
*CompletableFuture<ClientSchema>*, and use *computeIfAbsent* to guarantee only
one request for the given version. Make sure to handle failures - if a cached
future is failed, send a new request.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)