This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push: new b456733455 [NO ISSUE][*DB][STO] -= cloud storage scheme 'none' new 35c2447d29 Merge branch 'gerrit/phoenix' into 'master' b456733455 is described below commit b4567334559cc2057f96f933b936b5c077de3b6f Author: Michael Blow <michael.b...@couchbase.com> AuthorDate: Thu Aug 14 15:15:20 2025 -0400 [NO ISSUE][*DB][STO] -= cloud storage scheme 'none' Ext-ref: MB-68097 Change-Id: Ic122dfff07e5e6b08c16cdfb531354d5064fa518 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20216 Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Hussain Towaileb <hussai...@gmail.com> --- .../asterix/cloud/AbstractCloudIOManager.java | 5 - .../asterix/cloud/clients/CloudClientProvider.java | 2 - .../asterix/cloud/clients/NoopCloudClient.java | 189 --------------------- 3 files changed, 196 deletions(-) diff --git a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java index ab93f391ae..511802ee62 100644 --- a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java +++ b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java @@ -145,11 +145,6 @@ public abstract class AbstractCloudIOManager extends IOManager implements IParti partitionPaths.add(resolve(STORAGE_ROOT_DIR_NAME + File.separator + partitionDir)); } - if (CloudClientProvider.NONE.equals(storageScheme)) { - LOGGER.info("Cloud storage scheme is '{}', nothing to reconcile / download", storageScheme); - return; - } - LOGGER.info("Initializing cloud manager with ({}) storage partitions: {}", partitions.size(), partitions); if (!currentOnDiskPartitions.isEmpty()) { deleteUnkeptPartitionDirs(currentOnDiskPartitions); diff --git a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/CloudClientProvider.java b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/CloudClientProvider.java index 03a5b4663b..c675648818 100644 --- a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/CloudClientProvider.java +++ b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/CloudClientProvider.java @@ -33,7 +33,6 @@ public class CloudClientProvider { public static final String S3 = "s3"; public static final String GCS = "gs"; public static final String AZ_BLOB = "azblob"; - public static final String NONE = "none"; private CloudClientProvider() { throw new AssertionError("do not instantiate"); @@ -46,7 +45,6 @@ public class CloudClientProvider { case S3 -> new S3CloudClient(S3ClientConfig.of(cloudProperties), guardian); case GCS -> new GCSCloudClient(GCSClientConfig.of(cloudProperties), guardian); case AZ_BLOB -> new AzBlobStorageCloudClient(AzBlobStorageClientConfig.of(cloudProperties), guardian); - case NONE -> NoopCloudClient.INSTANCE; default -> throw new IllegalStateException("unsupported cloud storage scheme: " + storageScheme); }; diff --git a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/NoopCloudClient.java b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/NoopCloudClient.java deleted file mode 100644 index 45dabeb221..0000000000 --- a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/NoopCloudClient.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.asterix.cloud.clients; - -import java.io.FilenameFilter; -import java.io.InputStream; -import java.nio.ByteBuffer; -import java.util.Collection; -import java.util.List; -import java.util.Set; -import java.util.function.Predicate; - -import org.apache.asterix.cloud.IWriteBufferProvider; -import org.apache.asterix.cloud.clients.profiler.IRequestProfilerLimiter; -import org.apache.asterix.cloud.clients.profiler.NoOpRequestProfilerLimiter; -import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.api.io.FileReference; -import org.apache.hyracks.control.nc.io.IOManager; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class NoopCloudClient implements ICloudClient { - - public static final ICloudClient INSTANCE = new NoopCloudClient(); - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); - - private NoopCloudClient() { - } - - @Override - public void close() throws HyracksDataException { - // no-op - } - - @Override - public int getWriteBufferSize() { - return 0; - } - - @Override - public IRequestProfilerLimiter getProfilerLimiter() { - return NoOpRequestProfilerLimiter.INSTANCE; - } - - @Override - public ICloudWriter createWriter(String bucket, String path, IWriteBufferProvider bufferProvider) { - return new NoOpCloudWriter(); - } - - @Override - public Set<CloudFile> listObjects(String bucket, String path, FilenameFilter filter) { - return Set.of(); - } - - @Override - public int read(String bucket, String path, long offset, ByteBuffer buffer) throws HyracksDataException { - return 0; - } - - @Override - public byte[] readAllBytes(String bucket, String path) throws HyracksDataException { - return null; - } - - @Override - public InputStream getObjectStream(String bucket, String path, long offset, long length) { - return InputStream.nullInputStream(); - } - - @Override - public void write(String bucket, String path, byte[] data) { - } - - @Override - public void copy(String bucket, String srcPath, FileReference destPath) { - } - - @Override - public void deleteObjects(String bucket, Collection<String> paths) throws HyracksDataException { - } - - @Override - public long getObjectSize(String bucket, String path) throws HyracksDataException { - return 0; - } - - @Override - public boolean exists(String bucket, String path) throws HyracksDataException { - return false; - } - - @Override - public boolean isEmptyPrefix(String bucket, String path) throws HyracksDataException { - return false; - } - - @Override - public IParallelDownloader createParallelDownloader(String bucket, IOManager ioManager) - throws HyracksDataException { - return NoOpParallelDownloader.INSTANCE; - } - - @Override - public Predicate<Exception> getObjectNotFoundExceptionPredicate() { - return e -> true; - } - - @Override - public JsonNode listAsJson(ObjectMapper objectMapper, String bucket) { - return OBJECT_MAPPER.createArrayNode(); - } - - private static class NoOpCloudWriter implements ICloudWriter { - - long position = 0L; - - public NoOpCloudWriter() { - } - - @Override - public void abort() throws HyracksDataException { - position = 0L; - } - - @Override - public int write(ByteBuffer page) throws HyracksDataException { - int written = page.remaining(); - position += written; - page.position(page.limit()); - return written; - } - - @Override - public void write(int b) throws HyracksDataException { - position++; - } - - @Override - public int write(byte[] b, int off, int len) throws HyracksDataException { - position += len; - return len; - } - - @Override - public long position() { - return position; - } - - @Override - public void finish() throws HyracksDataException { - position = 0; - } - } - - private static class NoOpParallelDownloader implements IParallelDownloader { - private static final NoOpParallelDownloader INSTANCE = new NoOpParallelDownloader(); - - @Override - public void close() throws HyracksDataException { - } - - @Override - public void downloadFiles(Collection<FileReference> toDownload) throws HyracksDataException { - } - - @Override - public Collection<FileReference> downloadDirectories(Collection<FileReference> toDownload) - throws HyracksDataException { - return List.of(); - } - } -}