mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-14 01:42:37 +08:00
Undo change to mark tenant modes non-experimental. Other minor cleanup.
This commit is contained in:
parent
70bc67ce34
commit
c7c7bd5f17
@ -346,7 +346,7 @@ function createDatabase
|
||||
|
||||
# Configure the database.
|
||||
else
|
||||
"${BINDIR}/fdbcli" -C "${FDBCONF}" --exec 'configure new single memory tenant_mode=optional; status' --timeout "${CONFIGUREWAIT}" --log --log-dir "${LOGDIR}" &>> "${LOGDIR}/fdbclient.log"
|
||||
"${BINDIR}/fdbcli" -C "${FDBCONF}" --exec 'configure new single memory tenant_mode=optional_experimental; status' --timeout "${CONFIGUREWAIT}" --log --log-dir "${LOGDIR}" &>> "${LOGDIR}/fdbclient.log"
|
||||
|
||||
if ! displayMessage "Checking if config succeeded"
|
||||
then
|
||||
|
@ -64,7 +64,7 @@ The ``commit`` command commits the current transaction. Any sets or clears execu
|
||||
configure
|
||||
---------
|
||||
|
||||
The ``configure`` command changes the database configuration. Its syntax is ``configure [new|tss] [single|double|triple|three_data_hall|three_datacenter] [ssd|memory] [grv_proxies=<N>] [commit_proxies=<N>] [resolvers=<N>] [logs=<N>] [count=<TSS_COUNT>] [perpetual_storage_wiggle=<WIGGLE_SPEED>] [perpetual_storage_wiggle_locality=<<LOCALITY_KEY>:<LOCALITY_VALUE>|0>] [storage_migration_type={disabled|aggressive|gradual}] [tenant_mode={disabled|optional|required}]``.
|
||||
The ``configure`` command changes the database configuration. Its syntax is ``configure [new|tss] [single|double|triple|three_data_hall|three_datacenter] [ssd|memory] [grv_proxies=<N>] [commit_proxies=<N>] [resolvers=<N>] [logs=<N>] [count=<TSS_COUNT>] [perpetual_storage_wiggle=<WIGGLE_SPEED>] [perpetual_storage_wiggle_locality=<<LOCALITY_KEY>:<LOCALITY_VALUE>|0>] [storage_migration_type={disabled|aggressive|gradual}] [tenant_mode={disabled|optional_experimental|required_experimental}]``.
|
||||
|
||||
The ``new`` option, if present, initializes a new database with the given configuration rather than changing the configuration of an existing one. When ``new`` is used, both a redundancy mode and a storage engine must be specified.
|
||||
|
||||
|
@ -783,8 +783,8 @@
|
||||
"tenant_mode": {
|
||||
"$enum":[
|
||||
"disabled",
|
||||
"optional",
|
||||
"required"
|
||||
"optional_experimental",
|
||||
"required_experimental"
|
||||
]}
|
||||
},
|
||||
"data":{
|
||||
|
@ -25,8 +25,8 @@ In order to use tenants, the cluster must be configured with an appropriate tena
|
||||
FoundationDB clusters support the following tenant modes:
|
||||
|
||||
* ``disabled`` - Tenants cannot be created or used. Disabled is the default tenant mode.
|
||||
* ``optional`` - Tenants can be created. Each transaction can choose whether or not to use a tenant. This mode is primarily intended for migration and testing purposes, and care should be taken to avoid conflicts between tenant and non-tenant data.
|
||||
* ``required`` - Tenants can be created. Each normal transaction must use a tenant. To support special access needs, transactions will be permitted to access the raw key-space using the ``RAW_ACCESS`` transaction option.
|
||||
* ``optional_experimental`` - Tenants can be created. Each transaction can choose whether or not to use a tenant. This mode is primarily intended for migration and testing purposes, and care should be taken to avoid conflicts between tenant and non-tenant data.
|
||||
* ``required_experimental`` - Tenants can be created. Each normal transaction must use a tenant. To support special access needs, transactions will be permitted to access the raw key-space using the ``RAW_ACCESS`` transaction option.
|
||||
|
||||
Creating and deleting tenants
|
||||
=============================
|
||||
@ -49,7 +49,7 @@ All operations performed within a tenant transaction will occur within the tenan
|
||||
Raw access
|
||||
----------
|
||||
|
||||
When operating in the tenant mode ``required`` or using a metacluster, transactions are not ordinarily permitted to run without using a tenant. In order to access the system keys or perform maintenance operations that span multiple tenants, it is required to use the ``RAW_ACCESS`` transaction option to access the global key-space. It is an error to specify ``RAW_ACCESS`` on a transaction that is configured to use a tenant.
|
||||
When operating in the tenant mode ``required_experimental`` or using a metacluster, transactions are not ordinarily permitted to run without using a tenant. In order to access the system keys or perform maintenance operations that span multiple tenants, it is required to use the ``RAW_ACCESS`` transaction option to access the global key-space. It is an error to specify ``RAW_ACCESS`` on a transaction that is configured to use a tenant.
|
||||
|
||||
.. note :: Setting the ``READ_SYSTEM_KEYS`` or ``ACCESS_SYSTEM_KEYS`` options implies ``RAW_ACCESS`` for your transaction.
|
||||
|
||||
|
@ -321,7 +321,7 @@ CommandFactory configureFactory(
|
||||
"commit_proxies=<COMMIT_PROXIES>|grv_proxies=<GRV_PROXIES>|logs=<LOGS>|resolvers=<RESOLVERS>>*|"
|
||||
"count=<TSS_COUNT>|perpetual_storage_wiggle=<WIGGLE_SPEED>|perpetual_storage_wiggle_locality="
|
||||
"<<LOCALITY_KEY>:<LOCALITY_VALUE>|0>|storage_migration_type={disabled|gradual|aggressive}"
|
||||
"|tenant_mode={disabled|optional|required}|blob_granules_enabled={0|1}",
|
||||
"|tenant_mode={disabled|optional_experimental|required_experimental}|blob_granules_enabled={0|1}",
|
||||
"change the database configuration",
|
||||
"The `new' option, if present, initializes a new database with the given configuration rather than changing "
|
||||
"the configuration of an existing one. When used, both a redundancy mode and a storage engine must be "
|
||||
@ -352,7 +352,7 @@ CommandFactory configureFactory(
|
||||
"perpetual_storage_wiggle_locality=<<LOCALITY_KEY>:<LOCALITY_VALUE>|0>: Set the process filter for wiggling. "
|
||||
"The processes that match the given locality key and locality value are only wiggled. The value 0 will disable "
|
||||
"the locality filter and matches all the processes for wiggling.\n\n"
|
||||
"tenant_mode=<disabled|optional|required>: Sets the tenant mode for the cluster. If "
|
||||
"tenant_mode=<disabled|optional_experimental|required_experimental>: Sets the tenant mode for the cluster. If "
|
||||
"optional, then transactions can be run with or without specifying tenants. If required, all data must be "
|
||||
"accessed using tenants.\n\n"
|
||||
|
||||
|
@ -26,8 +26,10 @@ add_dependencies(fdboptions fdboptions_c)
|
||||
################################################################################
|
||||
# Build information
|
||||
################################################################################
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/BuildFlags.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/fdbclient/BuildFlags.h)
|
||||
|
||||
|
||||
set(BUILD_AZURE_BACKUP OFF CACHE BOOL "Build Azure backup client")
|
||||
if(BUILD_AZURE_BACKUP)
|
||||
add_compile_definitions(BUILD_AZURE_BACKUP)
|
||||
|
@ -190,12 +190,12 @@ std::map<std::string, std::string> configForToken(std::string const& mode) {
|
||||
TenantMode tenantMode;
|
||||
if (value == "disabled") {
|
||||
tenantMode = TenantMode::DISABLED;
|
||||
} else if (value == "optional_experimental" || value == "optional") {
|
||||
} else if (value == "optional_experimental") {
|
||||
tenantMode = TenantMode::OPTIONAL_TENANT;
|
||||
} else if (value == "required_experimental" || value == "required") {
|
||||
} else if (value == "required_experimental") {
|
||||
tenantMode = TenantMode::REQUIRED;
|
||||
} else {
|
||||
printf("Error: Only disabled|optional|required are valid for tenant_mode.\n");
|
||||
printf("Error: Only disabled|optional_experimental|required_experimental are valid for tenant_mode.\n");
|
||||
return out;
|
||||
}
|
||||
out[p + key] = format("%d", tenantMode);
|
||||
|
@ -842,8 +842,8 @@ const KeyRef JSONSchemas::statusSchema = LiteralStringRef(R"statusSchema(
|
||||
"tenant_mode": {
|
||||
"$enum":[
|
||||
"disabled",
|
||||
"optional",
|
||||
"required"
|
||||
"optional_experimental",
|
||||
"required_experimental"
|
||||
]}
|
||||
},
|
||||
"data":{
|
||||
|
@ -1621,8 +1621,6 @@ BlobWorkerInterface decodeBlobWorkerListValue(ValueRef const& value) {
|
||||
}
|
||||
|
||||
const KeyRef tenantDataPrefixKey = "\xff/tenantDataPrefix"_sr;
|
||||
const KeyRangeRef tenantGroupTenantIndexKeys("\xff/tenant/tenantGroup/tenantMap/"_sr,
|
||||
"\xff/tenant/tenantGroup/tenantMap0"_sr);
|
||||
|
||||
// for tests
|
||||
void testSSISerdes(StorageServerInterface const& ssi) {
|
||||
|
@ -17,7 +17,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// When actually compiled (NO_INTELLISENSE), include the generated version of this file. In intellisense use the source
|
||||
// version.
|
||||
#if defined(NO_INTELLISENSE) && !defined(FDBCLIENT_CLUSTERCONNECTIONKEY_ACTOR_G_H)
|
||||
@ -85,5 +87,6 @@ private:
|
||||
Key connectionStringKey;
|
||||
Optional<Value> lastPersistedConnectionString;
|
||||
};
|
||||
|
||||
#include "flow/unactorcompiler.h"
|
||||
#endif
|
@ -1364,9 +1364,9 @@ struct TenantMode {
|
||||
case DISABLED:
|
||||
return "disabled";
|
||||
case OPTIONAL_TENANT:
|
||||
return "optional";
|
||||
return "optional_experimental";
|
||||
case REQUIRED:
|
||||
return "required";
|
||||
return "required_experimental";
|
||||
default:
|
||||
ASSERT(false);
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ logdir = {logdir}
|
||||
def create_database(self, storage="ssd", enable_tenants=True):
|
||||
db_config = "configure new {} {}".format(self.redundancy, storage)
|
||||
if enable_tenants:
|
||||
db_config += " tenant_mode=optional"
|
||||
db_config += " tenant_mode=optional_experimental"
|
||||
if self.blob_granules_enabled:
|
||||
db_config += " blob_granules_enabled:=1"
|
||||
self.fdbcli_exec(db_config)
|
||||
|
Loading…
x
Reference in New Issue
Block a user