[ 
https://issues.apache.org/jira/browse/IGNITE-23729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirill Gusakov updated IGNITE-23729:
------------------------------------
    Epic Link: IGNITE-23438

> 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
>            Priority: Major
>              Labels: ignite-3
>
> 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)

Reply via email to