com.sap.hana.datalake.files.HdlfsConstants Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sap-hdlfs Show documentation
Show all versions of sap-hdlfs Show documentation
An implementation of org.apache.hadoop.fs.FileSystem targeting SAP HANA Data Lake Files.
// © 2021-2024 SAP SE or an SAP affiliate company. All rights reserved.
package com.sap.hana.datalake.files;
import org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory;
import org.apache.hadoop.security.ssl.KeyStoresFactory;
import java.io.InterruptedIOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
public class HdlfsConstants {
private HdlfsConstants() {}
public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
public static final String FS_HDLFS_CONTAINER_HEADER = "X-SAP-FileContainer";
public static final String FS_HDLFS_AUTHORITY_REGEX = "([A-Za-z0-9-]*)\\.(.*)";
// http client retry policy
public static final boolean FS_HDLFS_HTTP_CLIENT_RETRY_POLICY_ENABLED_DEFAULT = true;
public static final int FS_HDLFS_HTTP_CLIENT_FAILOVER_MAX_ATTEMPTS_DEFAULT = 15;
public static final int FS_HDLFS_HTTP_CLIENT_FAILOVER_SLEEP_BASE_MS_DEFAULT = 500;
public static final int FS_HDLFS_HTTP_CLIENT_FAILOVER_SLEEP_MAX_MS_DEFAULT = 15_000;
public static final int FS_HDLFS_HTTP_CLIENT_RETRY_MAX_ATTEMPTS_DEFAULT = 10;
public static final String FS_HDLFS_HTTP_CLIENT_FAILOVER_MAX_ATTEMPTS_KEY = "fs.hdlfs.http.client.failover.max.attempts";
public static final String FS_HDLFS_HTTP_CLIENT_FAILOVER_SLEEP_BASE_MS_KEY = "fs.hdlfs.http.client.failover.sleep.base.millis";
public static final String FS_HDLFS_HTTP_CLIENT_FAILOVER_SLEEP_MAX_MS_KEY = "fs.hdlfs.http.client.failover.sleep.max.millis";
public static final String FS_HDLFS_HTTP_CLIENT_RETRY_MAX_ATTEMPTS_KEY = "fs.hdlfs.http.client.retry.max.attempts";
public static final String FS_HDLFS_HTTP_CLIENT_RETRY_POLICY_ENABLED_KEY = "fs.hdlfs.http.client.retry.policy.enabled";
public static final String FS_HDLFS_HTTP_CLIENT_RETRY_POLICY_SPEC_KEY = "fs.hdlfs.http.client.retry.policy.spec";
public static final String FS_HDLFS_HTTP_CLIENT_RETRY_POLICY_SPEC_DEFAULT = "5,3,500,30,10000,50";
// impersonation support
public static final String FS_HDLFS_IMPERSONATION_ENABLED_KEY = "fs.hdlfs.impersonation.enabled";
public static final String FS_HDLFS_IMPERSONATION_USER_KEY = "fs.hdlfs.impersonation.user";
public static final String FS_HDLFS_IMPERSONATION_USER_ROLES = "fs.hdlfs.impersonation.roles";
public static final String TRUSTED_USER_HEADER = "X-SAP-Trusted-User";
public static final String TRUSTED_USER_ROLES_HEADER = "X-SAP-Trusted-User-Roles";
public static final String TRUSTED_USER_ENCODING_HEADER = "X-SAP-Trusted-User-Encoding";
public static final String TRUSTED_USER_ENCODING = "b64-utf-8";
public static final String FS_HDLFS_ENDPOINT_KEY = "fs.hdlfs.endpoint";
public static final String FS_HDLFS_CONNECTION_ID = "fs.hdlfs.connection.id";
public static final String FS_HDLFS_CONNECTION_ID_HEADER = "X-SAP-Connection-Id";
public static final String FS_HDLFS_FILECONTAINER_KEY = "fs.hdlfs.filecontainer";
public static final String FS_HDLFS_SSL_ENABLED_KEY = "fs.hdlfs.ssl.enabled";
public static final String FS_HDLFS_SSL_ROTATION_ENABLED_KEY = "fs.hdlfs.ssl.rotation.enabled";
public static final boolean FS_HDLFS_SSL_ROTATION_ENABLED_DEFAULT = true;
public static final String FS_HDLFS_SSL_CAPATH_KEY = "fs.hdlfs.ssl.caPath";
public static final String FS_HDLFS_SSL_CERTFILE_KEY = "fs.hdlfs.ssl.certfile";
public static final String FS_HDLFS_SSL_KEYFILE_KEY = "fs.hdlfs.ssl.keyfile";
public static final String FS_HDLFS_SSL_KEYFILE_PASSWORD_KEY = "fs.hdlfs.ssl.keyfile.password";
public static final String FS_HDLFS_SSL_KEYFILE_PASSWORD_DEFAULT = "";
public static final String FS_HDLFS_SSL_KEYSTORE_TYPE_KEY = "fs.hdlfs.ssl.keystore.type";
public static final String FS_HDLFS_SSL_KEYSTORE_LOCATION_KEY = "fs.hdlfs.ssl.keystore.location";
public static final String FS_HDLFS_SSL_KEYSTORE_PASSWORD_KEY = "fs.hdlfs.ssl.keystore.password";
public static final String FS_HDLFS_SSL_KEYSTORE_KEYPASSWORD_KEY = "fs.hdlfs.ssl.keystore.keypassword";
public static final String FS_HDLFS_SSL_KEYSTORE_TYPE_DEFAULT = "jks";
public static final String FS_HDLFS_SSL_KEYSTORE_PASSWORD_DEFAULT = "";
public static final String FS_HDLFS_SSL_TRUSTSTORE_TYPE_KEY = "fs.hdlfs.ssl.truststore.type";
public static final String FS_HDLFS_SSL_TRUSTSTORE_LOCATION_KEY = "fs.hdlfs.ssl.truststore.location";
public static final String FS_HDLFS_SSL_TRUSTSTORE_PASSWORD_KEY = "fs.hdlfs.ssl.truststore.password";
public static final String FS_HDLFS_SSL_TRUSTSTORE_TYPE_DEFAULT = "jks";
public static final String FS_HDLFS_SSL_TRUSTSTORE_PASSWORD_DEFAULT = "";
public static final String FS_HDLFS_SSL_TRUSTSTORE_LOCATION_DEFAULT = "";
public static final String FS_HDLFS_KEYSTORES_FACTORY_CLASS_KEY = "fs.hdlfs.ssl.keystores.factory.class";
public static final Class extends KeyStoresFactory> FS_HDLFS_KEYSTORES_FACTORY_CLASS_DEFAULT = FileBasedKeyStoresFactory.class;
public static final int FS_HDLFS_CONNECTION_TIMEOUT_DEFAULT = 60_000; // ms = 60 secs
public static final int FS_HDLFS_READ_TIMEOUT_DEFAULT = 60_000; // ms = 60 secs
public static final String FS_HDLFS_HTTP_CLIENT_ADDITIONAL_HEADERS_KEY_PREFIX = "fs.hdlfs.http.client.additional-headers.";
public static final int FS_HDLFS_OPERATION_OPEN_CHUNK_SIZE_DEFAULT = 4 * 1024 * 1024; // 4 MiB
public static final String FS_HDLFS_OPERATION_CREATE_MODE_KEY = "fs.hdlfs.operation.create.mode";
public static final String FS_HDLFS_OPERATION_MKDIRS_MODE_KEY = "fs.hdlfs.operation.mkdirs.mode";
public static final String FS_HDLFS_OPERATION_OPEN_MODE_KEY = "fs.hdlfs.operation.open.mode";
public static final String FS_HDLFS_OPERATION_OPEN_CHUNK_SIZE = "fs.hdlfs.operation.open.chunk.size";
public static final String FS_HDLFS_THREADS_FACTORY_PROVIDER_CLASS_KEY = "fs.hdlfs.threads.factory-provider.class";
// Direct access
public static final String FS_HDLFS_DIRECT_ACCESS_MODE_KEY = "fs.hdlfs.direct-access.mode";
public static final String FS_HDLFS_DIRECT_ACCESS_OPEN_CHUNK_SIZE_BYTES_KEY = "fs.hdlfs.direct-access.operation.open.chunk.size-bytes";
public static final int FS_HDLFS_DIRECT_ACCESS_OPEN_CHUNK_SIZE_BYTES_DEFAULT = 10_485_760; // 10 MiB
public static final String FS_HDLFS_DIRECT_ACCESS_OPEN_SIGNED_URL_EXPIRATION_SAFETY_MARGIN_SECONDS_KEY = "fs.hdlfs.direct-access.operation.open.signed-url-expiration-safety-margin-seconds";
public static final int FS_HDLFS_DIRECT_ACCESS_OPEN_SIGNED_URL_EXPIRATION_SAFETY_MARGIN_SECONDS_DEFAULT = 5;
public static final String FS_HDLFS_DIRECT_ACCESS_CREATE_SIGNED_URL_EXPIRATION_SAFETY_MARGIN_SECONDS_KEY = "fs.hdlfs.direct-access.operation.create.signed-url-expiration-safety-margin-seconds";
public static final int FS_HDLFS_DIRECT_ACCESS_CREATE_SIGNED_URL_EXPIRATION_SAFETY_MARGIN_SECONDS_DEFAULT = 5;
public static final String FS_HDLFS_DIRECT_ACCESS_GCS_CREATE_CHUNK_SIZE_BYTES_KEY = "fs.hdlfs.direct-access.gcs.operation.create.chunk.size-bytes";
public static final String FS_HDLFS_DIRECT_ACCESS_S3_CREATE_CHUNK_SIZE_BYTES_KEY = "fs.hdlfs.direct-access.s3.operation.create.chunk.size-bytes";
public static final String FS_HDLFS_DIRECT_ACCESS_WASB_CREATE_CHUNK_SIZE_BYTES_KEY = "fs.hdlfs.direct-access.wasb.operation.create.chunk.size-bytes";
public static final int FS_HDLFS_DIRECT_ACCESS_GCS_CREATE_CHUNK_SIZE_BYTES_DEFAULT = 134_217_728 ; // 128 MiB
public static final int FS_HDLFS_DIRECT_ACCESS_S3_CREATE_CHUNK_SIZE_BYTES_DEFAULT = 134_217_728 ; // 128 MiB
public static final int FS_HDLFS_DIRECT_ACCESS_WASB_CREATE_CHUNK_SIZE_BYTES_DEFAULT = 16_777_216 ; // 16 MiB
// Direct access - HttpClient
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_KEEP_ALIVE_SECONDS_KEY = "fs.hdlfs.direct-access.http-client.connections.keep-alive-seconds";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_KEEP_ALIVE_SECONDS_DEFAULT = 300;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_MAX_COUNT_KEY = "fs.hdlfs.direct-access.http-client.connections.max-count";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_MAX_COUNT_DEFAULT = 50;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_TTL_SECONDS_KEY = "fs.hdlfs.direct-access.http-client.connections.ttl-seconds";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_TTL_SECONDS_DEFAULT = 600;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_VALIDATE_AFTER_INACTIVITY_MS_KEY = "fs.hdlfs.direct-access.http-client.connections.validate-after-inactivity-ms";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECTIONS_VALIDATE_AFTER_INACTIVITY_MS_DEFAULT = 2_000;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECT_TIMEOUT_MS_KEY = "fs.hdlfs.direct-access.http-client.connect-timeout-ms";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_CONNECT_TIMEOUT_MS_DEFAULT = 60_000; // 60 secs
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_SOCKET_TIMEOUT_MS_KEY = "fs.hdlfs.direct-access.http-client.socket-timeout-ms";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_SOCKET_TIMEOUT_MS_DEFAULT = 60_000; // 60 secs
// Direct access - HttpClient - Retries
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRIES_MAX_COUNT_KEY = "fs.hdlfs.direct-access.http-client.retries.max-count";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRIES_MAX_COUNT_DEFAULT = 10;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRIES_MAX_INTERVAL_MS_KEY = "fs.hdlfs.direct-access.http-client.retries.max-interval-ms";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRIES_MAX_INTERVAL_MS_DEFAULT = 5000;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRIES_MIN_INTERVAL_MS_KEY = "fs.hdlfs.direct-access.http-client.retries.min-interval-ms";
public static final int FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRIES_MIN_INTERVAL_MS_DEFAULT = 100;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRY_SENT_REQUESTS_KEY = "fs.hdlfs.direct-access.http-client.retries.retry-sent-requests";
public static final boolean FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_RETRY_SENT_REQUESTS_DEFAULT = true;
public static final String FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_NON_RETRIABLE_EXCEPTIONS_KEY = "fs.hdlfs.direct-access.http-client.retries.non-retriable-exceptions";
public static final Class>[] FS_HDLFS_DIRECT_ACCESS_HTTP_CLIENT_NON_RETRIABLE_EXCEPTIONS_DEFAULT = {InterruptedIOException.class};
// Direct access - MultiPart Upload
public static final String FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_THREAD_POOL_SIZE_KEY = "fs.hdlfs.direct-access.multipart-upload.thread-pool-size";
public static final int FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_THREAD_POOL_SIZE_DEFAULT = 50;
public static final String FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_THREAD_POOL_QUEUE_SIZE_KEY = "fs.hdlfs.direct-access.multipart-upload.thread-pool-queue-size";
public static final int FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_THREAD_POOL_QUEUE_SIZE_DEFAULT = 128;
public static final String FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_THREAD_POOL_KEEP_ALIVE_SECS_KEY = "fs.hdlfs.direct-access.multipart-upload.thread-pool-keep-alive-secs";
public static final int FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_THREAD_POOL_KEEP_ALIVE_SECS_DEFAULT = 60;
public static final String FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_MAX_ACTIVE_CHUNKS_KEY = "fs.hdlfs.direct-access.multipart-upload.max-active-chunks";
public static final int FS_HDLFS_DIRECT_ACCESS_MULTIPART_UPLOAD_MAX_ACTIVE_CHUNKS_DEFAULT = 5;
public static final String WHOAMI_OPTIONS_DIRECT_ACCESS_TYPE_KEY = "direct-access-type";
// ByteBufferPool
public static final String FS_GLOBAL_BUFFER_POOL_BUFFER_TYPE_KEY = "fs.global-buffer-pool.buffers.type";
public static final String FS_GLOBAL_BUFFER_POOL_BUFFER_TYPE_DEFAULT = "HEAP";
public static final String FS_GLOBAL_BUFFER_POOL_THREAD_LOCAL_BUFFER_TYPE_KEY = "fs.global-buffer-pool.thread-local.buffers.type";
public static final String FS_GLOBAL_BUFFER_POOL_THREAD_LOCAL_BUFFER_TYPE_DEFAULT = "HEAP";
// Consistent write path patterns
static final String FS_HDLFS_CONSISTENT_WRITE_PATH_PATTERNS = "fs.hdlfs.consistent-write.path.patterns";
static final String FS_HDLFS_CONSISTENT_WRITE_PATH_PATTERNS_SEPARATOR_KEY = "fs.hdlfs.consistent-write.path.patterns.separator";
static final String FS_HDLFS_CONSISTENT_WRITE_PATH_PATTERNS_SEPARATOR_DEFAULT = ",";
public static final int HTTP_PORT = 80;
public static final int HTTPS_PORT = 443;
// support for optimized committer
public static final int HDLFS_OUTPUT_COMMITTER_DELETE_BATCH_MAX_RETRIES_DEFAULT = 50;
public static final int HDLFS_OUTPUT_COMMITTER_DELETE_BATCH_RETRY_TIMEOUT_MS_DEFAULT = 100;
public static final int HDLFS_OUTPUT_COMMITTER_DELETE_BATCH_SIZE_DEFAULT = 16;
static final int HDLFS_OUTPUT_COMMITTER_THREADPOOL_KEEP_ALIVE_SECS_DEFAULT = 60;
public static final String MAPREDUCE_OUTPUTCOMMITTER_FACTORY_SCHEME_HDLFS_KEY = "mapreduce.outputcommitter.factory.scheme.hdlfs";
static final String PENDING_SUFFIX = ".pending";
static final String PENDINGSET_SUFFIX = ".pendingset";
static final String PENDING_PREFIX_NAME = "__pending";
static final String BASE_PREFIX_NAME = "__base";
static final String HDLFS_OUTPUT_COMMITTER_THREADPOOL_MAX_ACTIVE_TASKS_KEY = "fs.hdlfs.outputcommitter.threads.global.max.active.tasks";
static final String HDLFS_OUTPUT_COMMITTER_THREADPOOL_MAX_WAITING_TASKS_KEY = "fs.hdlfs.outputcommitter.threads.global.max.waiting.tasks";
static final String HDLFS_OUTPUT_COMMITTER_THREADPOOL_KEEP_ALIVE_SECS_KEY = "fs.hdlfs.outputcommitter.threads.global.keep-alive-secs";
public static final String HDLFS_OUTPUT_COMMITTER_DELETE_BATCH_SIZE_KEY = "fs.hdlfs.outputcommitter.delete-batch.size";
public static final String HDLFS_OUTPUT_COMMITTER_DELETE_BATCH_MAX_RETRIES_KEY = "fs.hdlfs.outputcommitter.delete-batch.max.retries";
public static final String HDLFS_OUTPUT_COMMITTER_DELETE_BATCH_RETRY_TIMEOUT_MS_KEY = "fs.hdlfs.outputcommitter.delete-batch.retry.timeout.ms";
// support for FsGuard
static boolean FSCACHE_ENABLED_DEFAULT = false;
static int FSCACHE_MAX_LISTSTATUS_RETRIES_DEFAULT = 50;
static int FSCACHE_LISTSTATUS_RETRY_TIMEOUT_MS_DEFAULT = 500;
static String FSCACHE_ENABLED = "fs.hdlfs.outputcommitter.fscache.enabled";
static String FSCACHE_LISTSTATUS_RETRIES_KEY = "fs.hdlfs.outputcommitter.fscache.liststatus.retry.max";
static String FSCACHE_LISTSTATUS_RETRY_TIMEOUT_KEY = "fs.hdlfs.outputcommitter.fscache.liststatus.retry.timeout";
// json patch constants
static String JSON_PATCH_OP_KEY = "op";
static String JSON_PATCH_PATH_KEY = "path";
static String JSON_PATCH_VALUE_KEY = "value";
static String JSON_PATCH_ADD_OP = "add";
static String JSON_PATCH_TEST_OP = "test";
static String MARK_AS_DELETED_FIELD_NAME = "markAsDeleted";
static String TEMP_PATH_FIELD_NAME = "tempPath";
static String COMPLETE_FIELD_NAME = "isComplete";
static String COMMIT_TIME_FIELD_NAME = "commitTime";
static String IS_PREFIX_FIELD_NAME = "isPrefix";
static String LOCK_OWNER_FIELD_NAME = "lockOwner";
// hdlfs lock manager constants
static final String FS_HDLFS_LOCK_ACQUIRE_RETRY_SLEEP_MAX_MS_KEY = "fs.hdlfs.lock.acquire.retry.sleep.max.millis";
static final long FS_HDLFS_LOCK_ACQUIRE_RETRY_SLEEP_MAX_MS_DEFAULT = 10_000; // 10s
static final String FS_HDLFS_LOCK_ACQUIRE_RETRY_SLEEP_BASE_MS_KEY = "fs.hdlfs.lock.acquire.retry.sleep.base.millis";
static final long FS_HDLFS_LOCK_ACQUIRE_RETRY_SLEEP_BASE_MS_DEFAULT = 1_000; // 1s
static final double FS_HDLFS_LOCK_ACQUIRE_RETRY_SCALE_FACTOR = 1.3;
static final String FS_HDLFS_LOCK_RENEW_INTERVAL_MS_KEY = "fs.hdlfs.lock.renew.interval.ms";
static final long FS_HDLFS_LOCK_RENEW_INTERVAL_MS_DEFAULT = 15_000; // 15s
static final int FS_HDLFS_LOCK_RENEW_THREAD_POOL_SIZE = 1;
// hdlfslogstore constants
static final String LAST_CHECKPOINT_SUFFIX = "/_delta_log/_last_checkpoint";
static final String DELTA_LOG_SUFFIX = "_delta_log";
// OPEN check exists configuration
public static final String FS_HDLFS_OPERATION_OPEN_CHECK_EXISTS_REGEX = "fs.hdlfs.operation.open.check-exists.regex";
public static final String FS_HDLFS_OPERATION_OPEN_CHECK_EXISTS_REGEX_DEFAULT = String.format("^.*%s$", LAST_CHECKPOINT_SUFFIX);
// MERGE retry-policy configuration
public static String CONFIG_MERGE_RETRY_FILE_NOT_FOUND_KEY_PREFIX = "fs.hdlfs.multipart.upload.merge.retry.file-not-found.";
public static String CONFIG_MERGE_RETRY_FILE_NOT_FOUND_ENABLED_KEY = CONFIG_MERGE_RETRY_FILE_NOT_FOUND_KEY_PREFIX + "enabled";
public static String CONFIG_MERGE_RETRY_FILE_NOT_FOUND_LIMIT_KEY = CONFIG_MERGE_RETRY_FILE_NOT_FOUND_KEY_PREFIX + "limit";
public static String CONFIG_MERGE_RETRY_FILE_NOT_FOUND_INTERVAL_KEY = CONFIG_MERGE_RETRY_FILE_NOT_FOUND_KEY_PREFIX + "interval-ms";
// OPEN retry-policy configuration
public static String CONFIG_OPEN_RETRY_FILE_NOT_FOUND_KEY_PREFIX = "fs.hdlfs.operation.open.retry.file-not-found.";
public static String CONFIG_OPEN_RETRY_FILE_NOT_FOUND_ENABLED_KEY = CONFIG_OPEN_RETRY_FILE_NOT_FOUND_KEY_PREFIX + "enabled";
public static String CONFIG_OPEN_RETRY_FILE_NOT_FOUND_LIMIT_KEY = CONFIG_OPEN_RETRY_FILE_NOT_FOUND_KEY_PREFIX + "limit";
public static String CONFIG_OPEN_RETRY_FILE_NOT_FOUND_INTERVAL_KEY = CONFIG_OPEN_RETRY_FILE_NOT_FOUND_KEY_PREFIX + "interval-ms";
// DELETE MPU temp directory retry-policy configuration
public static String CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_KEY_PREFIX = "fs.hdlfs.multipart.upload.delete.retry.dir-not-empty.";
public static String CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_ENABLED_KEY = CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_KEY_PREFIX + "enabled";
public static String CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_LIMIT_KEY = CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_KEY_PREFIX + "limit";
public static String CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_INTERVAL_KEY = CONFIG_DELETE_MPU_TEMP_DIR_RETRY_DIR_NOT_EMPTY_KEY_PREFIX + "interval-ms";
// Local filesystem caches configuration
public static int FS_LOCAL_CACHE_MKDIR_ENTRIES_MAX_SIZE_DEFAULT = 1_000;
public static int FS_LOCAL_CACHE_PENDING_FILES_CREATED_ENTRIES_MAX_SIZE_DEFAULT = 50000;
public static String FS_LOCAL_CACHE_MKDIR_ENTRIES_MAX_SIZE = "fs.hdlfs.local-cache.global.mkdir-entries.max-size";
public static String FS_LOCAL_CACHE_PENDING_FILES_CREATED_ENTRIES_MAX_SIZE = "fs.hdlfs.local-cache.global.pending-files-created.max-size";
// Delete batch operation mode configuration
public static boolean FS_OPERATION_DELETE_BATCH_ASYNC_ENABLED_DEFAULT = false;
public static String FS_OPERATION_DELETE_BATCH_ASYNC_ENABLED_KEY = "fs.hdlfs.operation.delete-batch.async.enabled";
// following configurations will only be used if async delete batch is enabled
public static boolean FS_OPERATION_DELETE_BATCH_ASYNC_COMPLETE_ENABLED_DEFAULT = false;
public static int FS_OPERATION_DELETE_BATCH_ASYNC_COMPLETE_WAIT_TIME_SECS_DEFAULT = 60;
public static String FS_OPERATION_DELETE_BATCH_ASYNC_COMPLETE_ENABLED_KEY = "fs.hdlfs.operation.delete-batch.async.complete.enabled";
public static String FS_OPERATION_DELETE_BATCH_ASYNC_COMPLETE_WAIT_TIME_SECS_KEY = "fs.hdlfs.operation.delete-batch.async.complete.wait-time.seconds";
}
// © 2021-2024 SAP SE or an SAP affiliate company. All rights reserved.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy