Class CoordinatedCloudStorageDataTransferApi

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void abortRestoreJob()  
      void createRestoreJob​(o.a.c.sidecar.client.shaded.common.request.data.CreateRestoreJobRequestPayload createRestoreJobRequestPayload)  
      java.util.concurrent.CompletableFuture<java.lang.Void> createRestoreSliceFromDriver​(o.a.c.sidecar.client.shaded.client.SidecarInstance sidecarInstance, o.a.c.sidecar.client.shaded.common.request.data.CreateSliceRequestPayload createSliceRequestPayload)
      Called from driver level to create a restore slice asynchronously.
      void createRestoreSliceFromExecutor​(java.lang.String clusterId, o.a.c.sidecar.client.shaded.common.request.data.CreateSliceRequestPayload createSliceRequestPayload)
      Called from task level to create a restore slice.
      void createRestoreSliceFromExecutor​(o.a.c.sidecar.client.shaded.client.SidecarInstance sidecarInstance, o.a.c.sidecar.client.shaded.common.request.data.CreateSliceRequestPayload createSliceRequestPayload)
      Called from task level to create a restore slice.
      void forEach​(java.util.function.BiConsumer<java.lang.String,​CloudStorageDataTransferApiImpl> action)
      Iterate through all values
      CloudStorageDataTransferApiImpl getValueOrNull​(java.lang.String clusterId)
      Look up a value based on clusterId
      void restoreJobProgress​(o.a.c.sidecar.client.shaded.common.data.RestoreJobProgressFetchPolicy fetchPolicy, java.util.function.Predicate<java.lang.String> shouldSkipCluster, java.util.function.BiConsumer<java.lang.String,​o.a.c.sidecar.client.shaded.common.response.data.RestoreJobProgressResponsePayload> progressHandler)
      Retrieve the restore job progress with the specified fetch policy and handle the progress response
      o.a.c.sidecar.client.shaded.common.response.data.RestoreJobSummaryResponsePayload restoreJobSummary()  
      int size()  
      void updateRestoreJob​(o.a.c.sidecar.client.shaded.common.request.data.UpdateRestoreJobRequestPayload updateRestoreJobRequestPayload)  
      BundleStorageObject uploadBundle​(StorageCredentials writeCredentials, Bundle bundle)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CoordinatedCloudStorageDataTransferApi

        public CoordinatedCloudStorageDataTransferApi​(@NotNull
                                                      java.util.Map<java.lang.String,​CloudStorageDataTransferApiImpl> dataTransferApiByCluster)
      • CoordinatedCloudStorageDataTransferApi

        public CoordinatedCloudStorageDataTransferApi​(com.google.common.util.concurrent.RateLimiter sidecarApiCallRateLimiter,
                                                      @NotNull
                                                      java.util.Map<java.lang.String,​CloudStorageDataTransferApiImpl> dataTransferApiByCluster)
    • Method Detail

      • restoreJobSummary

        public o.a.c.sidecar.client.shaded.common.response.data.RestoreJobSummaryResponsePayload restoreJobSummary()
                                                                                                            throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Specified by:
        restoreJobSummary in interface CloudStorageDataTransferApi
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException
      • updateRestoreJob

        public void updateRestoreJob​(o.a.c.sidecar.client.shaded.common.request.data.UpdateRestoreJobRequestPayload updateRestoreJobRequestPayload)
                              throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Specified by:
        updateRestoreJob in interface CloudStorageDataTransferApi
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException
      • abortRestoreJob

        public void abortRestoreJob()
                             throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Specified by:
        abortRestoreJob in interface CloudStorageDataTransferApi
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException
      • createRestoreSliceFromExecutor

        public void createRestoreSliceFromExecutor​(java.lang.String clusterId,
                                                   o.a.c.sidecar.client.shaded.common.request.data.CreateSliceRequestPayload createSliceRequestPayload)
                                            throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Description copied from interface: CoordinatedCloudStorageDataTransferApiExtension
        Called from task level to create a restore slice. The request retries until the slice is created (201) or retry has exhausted.
        Specified by:
        createRestoreSliceFromExecutor in interface CoordinatedCloudStorageDataTransferApiExtension
        Parameters:
        clusterId - identifier of the cluster to create slice
        createSliceRequestPayload - the payload to create the slice
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException - when an error occurs during the slice creation
      • restoreJobProgress

        public void restoreJobProgress​(o.a.c.sidecar.client.shaded.common.data.RestoreJobProgressFetchPolicy fetchPolicy,
                                       java.util.function.Predicate<java.lang.String> shouldSkipCluster,
                                       java.util.function.BiConsumer<java.lang.String,​o.a.c.sidecar.client.shaded.common.response.data.RestoreJobProgressResponsePayload> progressHandler)
                                throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Description copied from interface: CoordinatedCloudStorageDataTransferApiExtension
        Retrieve the restore job progress with the specified fetch policy and handle the progress response

        The API is invoked by Spark driver.

        Specified by:
        restoreJobProgress in interface CoordinatedCloudStorageDataTransferApiExtension
        Parameters:
        fetchPolicy - determines how detailed is the fetched restore job progress
        shouldSkipCluster - filter to determine whether a cluster should be skipped
        progressHandler - handles restore job progress
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException - exception from calling sidecar API
      • createRestoreJob

        public void createRestoreJob​(o.a.c.sidecar.client.shaded.common.request.data.CreateRestoreJobRequestPayload createRestoreJobRequestPayload)
                              throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Specified by:
        createRestoreJob in interface CloudStorageDataTransferApi
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException
      • createRestoreSliceFromExecutor

        public void createRestoreSliceFromExecutor​(o.a.c.sidecar.client.shaded.client.SidecarInstance sidecarInstance,
                                                   o.a.c.sidecar.client.shaded.common.request.data.CreateSliceRequestPayload createSliceRequestPayload)
                                            throws org.apache.cassandra.spark.exception.SidecarApiCallException
        Description copied from interface: CloudStorageDataTransferApi
        Called from task level to create a restore slice. The request retries until the slice is created (201) or retry has exhausted.
        Specified by:
        createRestoreSliceFromExecutor in interface CloudStorageDataTransferApi
        Parameters:
        sidecarInstance - the sidecar instance where we will create the slice
        createSliceRequestPayload - the payload to create the slice
        Throws:
        org.apache.cassandra.spark.exception.SidecarApiCallException - when an error occurs during the slice creation
      • createRestoreSliceFromDriver

        public java.util.concurrent.CompletableFuture<java.lang.Void> createRestoreSliceFromDriver​(o.a.c.sidecar.client.shaded.client.SidecarInstance sidecarInstance,
                                                                                                   o.a.c.sidecar.client.shaded.common.request.data.CreateSliceRequestPayload createSliceRequestPayload)
        Description copied from interface: CloudStorageDataTransferApi
        Called from driver level to create a restore slice asynchronously. The request retries until the slice succeeds (200), failed (550) or retry has exhausted.
        Specified by:
        createRestoreSliceFromDriver in interface CloudStorageDataTransferApi
        Parameters:
        sidecarInstance - the sidecar instance where we will create the slice
        createSliceRequestPayload - the payload to create the slice
        Returns:
        future of create restore slice request