Class RetriableStargateBridge

java.lang.Object
io.stargate.sgv2.api.common.grpc.RetriableStargateBridge
All Implemented Interfaces:
io.quarkus.grpc.MutinyService, StargateBridge

public class RetriableStargateBridge extends Object implements StargateBridge
An implementation of the StargateBridge that executes retries based on the GrpcConfig.Retries configuration.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.AuthorizeSchemaReadsResponse>
    authorizeSchemaReads(io.stargate.bridge.proto.Schema.AuthorizeSchemaReadsRequest request)
    Checks whether the client is authorized to describe one or more schema elements.
    io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.CqlKeyspaceDescribe>
    describeKeyspace(io.stargate.bridge.proto.Schema.DescribeKeyspaceQuery request)
    Similar to CQL "DESCRIBE KEYSPACE".
    io.smallrye.mutiny.Uni<io.stargate.bridge.proto.QueryOuterClass.Response>
    executeBatch(io.stargate.bridge.proto.QueryOuterClass.Batch request)
    Executes a batch of CQL queries.
    io.smallrye.mutiny.Uni<io.stargate.bridge.proto.QueryOuterClass.Response>
    executeQuery(io.stargate.bridge.proto.QueryOuterClass.Query request)
    Executes a single CQL query.
    io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.QueryWithSchemaResponse>
    executeQueryWithSchema(io.stargate.bridge.proto.Schema.QueryWithSchema request)
    Executes a single CQL query, assuming that a keyspace with the given version hash exists on the bridge side.
    io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.SupportedFeaturesResponse>
    getSupportedFeatures(io.stargate.bridge.proto.Schema.SupportedFeaturesRequest request)
    Checks which features are supported by the persistence backend.

    Methods inherited from class java.lang.Object

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

  • Method Details

    • executeQuery

      public io.smallrye.mutiny.Uni<io.stargate.bridge.proto.QueryOuterClass.Response> executeQuery(io.stargate.bridge.proto.QueryOuterClass.Query request)
      Description copied from interface: StargateBridge
        Executes a single CQL query.
       
      Specified by:
      executeQuery in interface StargateBridge
    • executeQueryWithSchema

      public io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.QueryWithSchemaResponse> executeQueryWithSchema(io.stargate.bridge.proto.Schema.QueryWithSchema request)
      Description copied from interface: StargateBridge
        Executes a single CQL query, assuming that a keyspace with the given version hash exists on the
        bridge side.
        This is an optimization when the client builds a query based on a keyspace's contents: with
        this operation, it can use its local version of the keyspace (therefore avoiding an extra
        network hop to fetch it), and execute the query optimistically. If the keyspace has changed,
        the bridge will reply with the new version, allowing the client to retry.
       
      Specified by:
      executeQueryWithSchema in interface StargateBridge
    • executeBatch

      public io.smallrye.mutiny.Uni<io.stargate.bridge.proto.QueryOuterClass.Response> executeBatch(io.stargate.bridge.proto.QueryOuterClass.Batch request)
      Description copied from interface: StargateBridge
        Executes a batch of CQL queries.
       
      Specified by:
      executeBatch in interface StargateBridge
    • describeKeyspace

      public io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.CqlKeyspaceDescribe> describeKeyspace(io.stargate.bridge.proto.Schema.DescribeKeyspaceQuery request)
      Description copied from interface: StargateBridge
        Similar to CQL "DESCRIBE KEYSPACE".
        Note that this operation does not perform any authorization check. The rationale is that, most
        of the time, client services use schema metadata to build another query that will be
        immediately executed with `ExecuteQuery` (which does check authorization).
        If that is not the case (e.g. you return the metadata directly to the client), you can check
        authorization explicitly with `AuthorizeSchemaReads`.
       
      Specified by:
      describeKeyspace in interface StargateBridge
    • authorizeSchemaReads

      public io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.AuthorizeSchemaReadsResponse> authorizeSchemaReads(io.stargate.bridge.proto.Schema.AuthorizeSchemaReadsRequest request)
      Description copied from interface: StargateBridge
        Checks whether the client is authorized to describe one or more schema elements.
       
      Specified by:
      authorizeSchemaReads in interface StargateBridge
    • getSupportedFeatures

      public io.smallrye.mutiny.Uni<io.stargate.bridge.proto.Schema.SupportedFeaturesResponse> getSupportedFeatures(io.stargate.bridge.proto.Schema.SupportedFeaturesRequest request)
      Description copied from interface: StargateBridge
        Checks which features are supported by the persistence backend.
       
      Specified by:
      getSupportedFeatures in interface StargateBridge