Class CompletedOperationCache<K extends OperationKey,R extends Serializable>

java.lang.Object
org.apache.flink.runtime.rest.handler.async.CompletedOperationCache<K,R>
All Implemented Interfaces:
AutoCloseable, org.apache.flink.util.AutoCloseableAsync

@ThreadSafe public class CompletedOperationCache<K extends OperationKey,R extends Serializable> extends Object implements org.apache.flink.util.AutoCloseableAsync
Cache to manage ongoing operations.

The cache allows to register ongoing operations by calling #registerOngoingOperation(K, CompletableFuture), where the CompletableFuture contains the operation result. Completed operations will be removed from the cache automatically after a fixed timeout.

  • Constructor Details

    • CompletedOperationCache

      public CompletedOperationCache(Duration cacheDuration)
  • Method Details

    • registerOngoingOperation

      public void registerOngoingOperation(K operationKey, CompletableFuture<R> operationResultFuture)
      Registers an ongoing operation with the cache.
      Parameters:
      operationResultFuture - A future containing the operation result.
      Throws:
      IllegalStateException - if the cache is already shutting down
    • containsOperation

      public boolean containsOperation(K operationKey)
      Returns whether this cache contains an operation under the given operation key.
    • get

      public Optional<OperationResult<R>> get(K operationKey)
      Returns an optional containing the OperationResult for the specified key, or an empty optional if no operation is registered under the key.
    • closeAsync

      public CompletableFuture<Void> closeAsync()
      Specified by:
      closeAsync in interface org.apache.flink.util.AutoCloseableAsync