You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Gusakov (Jira)" <ji...@apache.org> on 2024/11/20 20:40:00 UTC
[jira] [Created] (IGNITE-23729) Handle possible errors on the metastore put in disaster recovery mechanism
Kirill Gusakov created IGNITE-23729:
---------------------------------------
Summary: Handle possible errors on the metastore put in disaster recovery mechanism
Key: IGNITE-23729
URL: https://issues.apache.org/jira/browse/IGNITE-23729
Project: Ignite
Issue Type: Improvement
Reporter: Kirill Gusakov
We need to add the logging of error, at least, for the following metastore put future:
{code:java}
private CompletableFuture<Void> processNewRequest(DisasterRecoveryRequest request) {
UUID operationId = request.operationId();
CompletableFuture<Void> operationFuture = new CompletableFuture<Void>()
.whenComplete((v, throwable) -> ongoingOperationsById.remove(operationId))
.orTimeout(TIMEOUT_SECONDS, TimeUnit.SECONDS);
ongoingOperationsById.put(operationId, operationFuture);
metaStorageManager.put(RECOVERY_TRIGGER_KEY, VersionedSerialization.toBytes(request, DisasterRecoveryRequestSerializer.INSTANCE));
return operationFuture;
}
{code}
At the same time - looks like we shouldn't chain this put on the following operationFuture, because the current disaster recovery logic will complete this future only after the put handled together with appropriate watch event on the same key.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)