com.datastrato.gravitino.Configs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Gravitino is a high-performance, geo-distributed and federated metadata lake.
/*
* Copyright 2023 Datastrato Pvt Ltd.
* This software is licensed under the Apache License version 2.
*/
package com.datastrato.gravitino;
import com.datastrato.gravitino.config.ConfigBuilder;
import com.datastrato.gravitino.config.ConfigEntry;
import java.io.File;
public interface Configs {
String DEFAULT_ENTITY_STORE = "kv";
String ENTITY_STORE_KEY = "gravitino.entity.store";
String DEFAULT_ENTITY_KV_STORE = "RocksDBKvBackend";
String ENTITY_KV_STORE_KEY = "gravitino.entity.store.kv";
String ENTITY_KV_ROCKSDB_BACKEND_PATH_KEY = "gravitino.entity.store.kv.rocksdbPath";
Long DEFAULT_KV_DELETE_AFTER_TIME = 604800000L; // 7 days
String KV_DELETE_AFTER_TIME_KEY = "gravitino.entity.store.kv.deleteAfterTimeMs";
// Default path for RocksDB backend is "${GRAVITINO_HOME}/data/rocksdb"
String DEFAULT_KV_ROCKSDB_BACKEND_PATH =
String.join(File.separator, System.getenv("GRAVITINO_HOME"), "data", "rocksdb");
ConfigEntry ENTITY_STORE =
new ConfigBuilder(ENTITY_STORE_KEY)
.doc("Which storage implementation to use")
.version("0.1.0")
.stringConf()
.createWithDefault(DEFAULT_ENTITY_STORE);
ConfigEntry ENTITY_KV_STORE =
new ConfigBuilder(ENTITY_KV_STORE_KEY)
.doc("Detailed implementation of Kv storage")
.version("0.1.0")
.stringConf()
.createWithDefault(DEFAULT_ENTITY_KV_STORE);
ConfigEntry ENTRY_KV_ROCKSDB_BACKEND_PATH =
new ConfigBuilder(ENTITY_KV_ROCKSDB_BACKEND_PATH_KEY)
.doc("Directory path of `RocksDBKvBackend`")
.version("0.1.0")
.stringConf()
.createWithDefault(DEFAULT_KV_ROCKSDB_BACKEND_PATH);
ConfigEntry ENTITY_SERDE =
new ConfigBuilder("gravitino.entity.serde")
.doc("The entity SerDe to use")
.version("0.1.0")
.stringConf()
.createWithDefault("proto");
ConfigEntry CATALOG_CACHE_EVICTION_INTERVAL_MS =
new ConfigBuilder("gravitino.catalog.cache.evictionIntervalMs")
.doc("The interval in milliseconds to evict the catalog cache")
.version("0.1.0")
.longConf()
.createWithDefault(60 * 60 * 1000L);
ConfigEntry CATALOG_LOAD_ISOLATED =
new ConfigBuilder("gravitino.catalog.classloader.isolated")
.doc("Whether to load the catalog in an isolated classloader")
.version("0.1.0")
.booleanConf()
.createWithDefault(true);
ConfigEntry AUTHENTICATOR =
new ConfigBuilder("gravitino.authenticator")
.doc("The authenticator which Gravitino uses")
.version("0.3.0")
.stringConf()
.createWithDefault("simple");
ConfigEntry STORE_TRANSACTION_MAX_SKEW_TIME =
new ConfigBuilder("gravitino.entity.store.maxTransactionSkewTimeMs")
.doc("The maximum skew time of transactions in milliseconds")
.version("0.3.0")
.longConf()
.createWithDefault(2000L);
ConfigEntry KV_DELETE_AFTER_TIME =
new ConfigBuilder(KV_DELETE_AFTER_TIME_KEY)
.doc(
"The maximum time in milliseconds that the deleted data and old version data is kept")
.version("0.3.0")
.longConf()
.createWithDefault(DEFAULT_KV_DELETE_AFTER_TIME);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy