@Override public OperationFuture<Void, UpdateDatabaseDdlMetadata> updateDatabaseDdl( final String instanceId, final String databaseId, final Iterable<String> statements, @Nullable String operationId) throws SpannerException { final String dbName = getDatabaseName(instanceId, databaseId); final String opId = operationId != null ? operationId : randomOperationId(); OperationFuture<Empty, UpdateDatabaseDdlMetadata> rawOperationFuture = rpc.updateDatabaseDdl(dbName, statements, opId); return new OperationFutureImpl<Void, UpdateDatabaseDdlMetadata>( rawOperationFuture.getPollingFuture(), rawOperationFuture.getInitialFuture(), new ApiFunction<OperationSnapshot, Void>() { @Override public Void apply(OperationSnapshot snapshot) { ProtoOperationTransformers.ResponseTransformer.create(Empty.class).apply(snapshot); return null; } }, ProtoOperationTransformers.MetadataTransformer.create(UpdateDatabaseDdlMetadata.class), new ApiFunction<Exception, Void>() { @Override public Void apply(Exception e) { throw SpannerExceptionFactory.newSpannerException(e); } }); }
ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(WorkflowMetadata.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(WorkflowMetadata.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
BatchUpdateIntentsResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(Struct.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(Struct.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
.setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(Instance.class)) .setMetadataTransformer(ProtoOperationTransformers.MetadataTransformer.create(Any.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(Instance.class)) .setMetadataTransformer(ProtoOperationTransformers.MetadataTransformer.create(Any.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) .setMetadataTransformer(ProtoOperationTransformers.MetadataTransformer.create(Any.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
BatchUpdateIntentsResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(Struct.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(Struct.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
ProtoOperationTransformers.ResponseTransformer.create(Document.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create( KnowledgeOperationMetadata.class)) .setPollingAlgorithm( ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create( KnowledgeOperationMetadata.class)) .setPollingAlgorithm(
LongRunningRecognizeResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create( LongRunningRecognizeMetadata.class)) .setPollingAlgorithm(
AsyncBatchAnnotateFilesResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
AsyncBatchAnnotateFilesResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
LongRunningRecognizeResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create( LongRunningRecognizeMetadata.class)) .setPollingAlgorithm(
ProtoOperationTransformers.ResponseTransformer.create(ExportAssetsResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(ExportAssetsRequest.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
AsyncBatchAnnotateFilesResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create(
ProtoOperationTransformers.MetadataTransformer.create(UpdateInstanceMetadata.class), new ApiFunction<Exception, Instance>() { @Override
private static Builder initDefaults(Builder builder) { builder .annotateVideoSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); builder .annotateVideoOperationSettings() .setInitialCallSettings( UnaryCallSettings .<AnnotateVideoRequest, OperationSnapshot>newUnaryCallSettingsBuilder() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) .build()) .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( RetrySettings.newBuilder() .setInitialRetryDelay(Duration.ofMillis(20000L)) .setRetryDelayMultiplier(1.5) .setMaxRetryDelay(Duration.ofMillis(45000L)) .setInitialRpcTimeout(Duration.ZERO) // ignored .setRpcTimeoutMultiplier(1.0) // ignored .setMaxRpcTimeout(Duration.ZERO) // ignored .setTotalTimeout(Duration.ofMillis(86400000L)) .build())); return builder; }
@Override public OperationFuture<Instance, CreateInstanceMetadata> createInstance(InstanceInfo instance) throws SpannerException { String projectName = PROJECT_NAME_TEMPLATE.instantiate("project", projectId); OperationFuture<com.google.spanner.admin.instance.v1.Instance, CreateInstanceMetadata> rawOperationFuture = rpc.createInstance(projectName, instance.getId().getInstance(), instance.toProto()); return new OperationFutureImpl<Instance, CreateInstanceMetadata>( rawOperationFuture.getPollingFuture(), rawOperationFuture.getInitialFuture(), new ApiFunction<OperationSnapshot, Instance>() { @Override public Instance apply(OperationSnapshot snapshot) { return Instance.fromProto( ProtoOperationTransformers.ResponseTransformer.create( com.google.spanner.admin.instance.v1.Instance.class) .apply(snapshot), InstanceAdminClientImpl.this, dbClient); } }, ProtoOperationTransformers.MetadataTransformer.create(CreateInstanceMetadata.class), new ApiFunction<Exception, Instance>() { @Override public Instance apply(Exception e) { throw SpannerExceptionFactory.newSpannerException(e); } }); }
private static Builder initDefaults(Builder builder) { builder .annotateVideoSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); builder .annotateVideoOperationSettings() .setInitialCallSettings( UnaryCallSettings .<AnnotateVideoRequest, OperationSnapshot>newUnaryCallSettingsBuilder() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) .build()) .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( RetrySettings.newBuilder() .setInitialRetryDelay(Duration.ofMillis(20000L)) .setRetryDelayMultiplier(1.5) .setMaxRetryDelay(Duration.ofMillis(45000L)) .setInitialRpcTimeout(Duration.ZERO) // ignored .setRpcTimeoutMultiplier(1.0) // ignored .setMaxRpcTimeout(Duration.ZERO) // ignored .setTotalTimeout(Duration.ofMillis(86400000L)) .build())); return builder; }
private static Builder initDefaults(Builder builder) { builder .annotateVideoSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); builder .annotateVideoOperationSettings() .setInitialCallSettings( UnaryCallSettings .<AnnotateVideoRequest, OperationSnapshot>newUnaryCallSettingsBuilder() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) .build()) .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( RetrySettings.newBuilder() .setInitialRetryDelay(Duration.ofMillis(20000L)) .setRetryDelayMultiplier(1.5) .setMaxRetryDelay(Duration.ofMillis(45000L)) .setInitialRpcTimeout(Duration.ZERO) // ignored .setRpcTimeoutMultiplier(1.0) // ignored .setMaxRpcTimeout(Duration.ZERO) // ignored .setTotalTimeout(Duration.ofMillis(86400000L)) .build())); return builder; }
private static Builder initDefaults(Builder builder) { builder .annotateVideoSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); builder .annotateVideoOperationSettings() .setInitialCallSettings( UnaryCallSettings .<AnnotateVideoRequest, OperationSnapshot>newUnaryCallSettingsBuilder() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) .build()) .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( RetrySettings.newBuilder() .setInitialRetryDelay(Duration.ofMillis(20000L)) .setRetryDelayMultiplier(1.5) .setMaxRetryDelay(Duration.ofMillis(45000L)) .setInitialRpcTimeout(Duration.ZERO) // ignored .setRpcTimeoutMultiplier(1.0) // ignored .setMaxRpcTimeout(Duration.ZERO) // ignored .setTotalTimeout(Duration.ofMillis(86400000L)) .build())); return builder; }
private static Builder initDefaults(Builder builder) { builder .annotateVideoSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); builder .annotateVideoOperationSettings() .setInitialCallSettings( UnaryCallSettings .<AnnotateVideoRequest, OperationSnapshot>newUnaryCallSettingsBuilder() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) .build()) .setResponseTransformer( ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) .setMetadataTransformer( ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) .setPollingAlgorithm( OperationTimedPollAlgorithm.create( RetrySettings.newBuilder() .setInitialRetryDelay(Duration.ofMillis(20000L)) .setRetryDelayMultiplier(1.5) .setMaxRetryDelay(Duration.ofMillis(45000L)) .setInitialRpcTimeout(Duration.ZERO) // ignored .setRpcTimeoutMultiplier(1.0) // ignored .setMaxRpcTimeout(Duration.ZERO) // ignored .setTotalTimeout(Duration.ofMillis(86400000L)) .build())); return builder; }
@Override public OperationFuture<Database, CreateDatabaseMetadata> createDatabase( String instanceId, String databaseId, Iterable<String> statements) throws SpannerException { // CreateDatabase() is not idempotent, so we're not retrying this request. String instanceName = getInstanceName(instanceId); String createStatement = "CREATE DATABASE `" + databaseId + "`"; OperationFuture<com.google.spanner.admin.database.v1.Database, CreateDatabaseMetadata> rawOperationFuture = rpc.createDatabase(instanceName, createStatement, statements); return new OperationFutureImpl<Database, CreateDatabaseMetadata>( rawOperationFuture.getPollingFuture(), rawOperationFuture.getInitialFuture(), new ApiFunction<OperationSnapshot, Database>() { @Override public Database apply(OperationSnapshot snapshot) { return Database.fromProto( ProtoOperationTransformers.ResponseTransformer.create( com.google.spanner.admin.database.v1.Database.class) .apply(snapshot), DatabaseAdminClientImpl.this); } }, ProtoOperationTransformers.MetadataTransformer.create(CreateDatabaseMetadata.class), new ApiFunction<Exception, Database>() { @Override public Database apply(Exception e) { throw SpannerExceptionFactory.newSpannerException(e); } }); }