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)

Reply via email to