FdbNetworkOption
Namespace: FoundationDB.Client · enum
Implements: IComparable, ISpanFormattable, IFormattable, IConvertible
Defines a set of options for the network thread
Fields
BuggifyDisable
BuggifyDisable = 49
BuggifyEnable
BuggifyEnable = 48
BuggifySectionActivatedProbability
BuggifySectionActivatedProbability = 50
Set the probability of a BUGGIFY section being active for the current execution. Only applies to code paths first traversed AFTER this option is changed.
BuggifySectionFiredProbability
BuggifySectionFiredProbability = 51
Set the probability of an active BUGGIFY section being fired
CallbacksOnExternalThreads
CallbacksOnExternalThreads = 61
If set, callbacks from external client libraries can be called from threads created by the FoundationDB client library. Otherwise, callbacks will be called from either the thread used to add the callback or the network thread. Setting this option can improve performance when connected using an external client, but may not be safe to use in all environments. Must be set before setting up the network.
WARNING: This feature is considered experimental at this time.
ClientBuggifyDisable
ClientBuggifyDisable = 81
Disable client buggify
ClientBuggifyEnable
ClientBuggifyEnable = 80
Enable client buggify - will make requests randomly fail (intended for client testing)
ClientBuggifySectionActivatedProbability
ClientBuggifySectionActivatedProbability = 82
Set the probability of a CLIENT_BUGGIFY section being active for the current execution.
ClientBuggifySectionFiredProbability
ClientBuggifySectionFiredProbability = 83
Set the probability of an active CLIENT_BUGGIFY section being fired. A section will only fire if it was activated
ClientThreadsPerVersion
ClientThreadsPerVersion = 65
Spawns multiple worker threads for each version of the client that is loaded.
Parameter: (Int64) Number of client threads to be spawned. Each cluster will be serviced by a single client thread.
Setting this to a number greater than one implies DisableLocalClient.
ClientTmpDir
ClientTmpDir = 91
Sets the directory for storing temporary files created by FDB client, such as temporary copies of client libraries.
Parameter: (String) Client directory for temporary files.
Defaults to /tmp (on Linux)
ClusterFile
ClusterFile = 20
Deprecated
DisableClientBypass
DisableClientBypass = 72
Prevents the multi-version client API from being disabled, even if no external clients are configured.
This option is required to use GRV caching.
DisableClientStatisticsLogging
DisableClientStatisticsLogging = 70
Disables logging of client statistics, such as sampled transaction activity.
DisableLocalClient
DisableLocalClient = 64
Prevents connections through the local client, allowing only connections through externally loaded client libraries. Intended primarily for testing.
DisableMultiVersionClientApi
DisableMultiVersionClientApi = 60
Disables the multi-version client API and instead uses the local client directly. Must be set before setting up the network.
DistributedClientTracer
DistributedClientTracer = 90
Set a tracer to run on the client.
Parameter: (String) Distributed tracer type. Choose from none, log_file, or network_lossy
Should be set to the same value as the tracer set on the server.
EnableRunLoopProfiling
EnableRunLoopProfiling = 71
Enables debugging feature to perform run loop profiling.
Requires trace logging to be enabled.
WARNING: this feature is not recommended for use in production.
EnableSlowTaskProfiling
EnableSlowTaskProfiling = 71
Enables debugging feature to perform slow task profiling.
Requires trace logging to be enabled.
WARNING: this feature is not recommended for use in production.
ExternalClient
ExternalClient = 1001
This option is set automatically on all clients loaded externally using the multi-version API.
ExternalClientDirectory
ExternalClientDirectory = 63
Searches the specified path for dynamic libraries and adds them to the list of client libraries for use by the multi-version client API. Must be set before setting up the network.
ExternalClientLibrary
ExternalClientLibrary = 62
Adds an external client library for use by the multi-version client API. Must be set before setting up the network.
ExternalClientTransportId
ExternalClientTransportId = 1002
This option tells a child on a multi-version client what transport ID to use.
Parameter: (Int64) Transport ID for the child connection
FailIncompatibleClient
FailIncompatibleClient = 69
Fail with an error if there is no client matching the server version the client is connecting to.
FutureVersionClientLibrary
FutureVersionClientLibrary = 66
Adds an external client library to be used with a future version protocol.
Parameter: (String) path to client library
This option can be used testing purposes only!
IgnoreExternalClientFailures
IgnoreExternalClientFailures = 68
Ignore the failure to initialize some of the external clients
Knob
Knob = 40
Set internal tuning or debugging knobs
Parameter: (String) knob_name=knob_value
LocalAddress
LocalAddress = 10
Deprecated
None
None = 0
None
RetainClientLibraryCopies
RetainClientLibraryCopies = 67
Retain temporary external client library copies that are created for enabling multi-threading.
SupportedClientVersions
SupportedClientVersions = 1000
This option is set automatically to communicate the list of supported clients to the active client.
TlsCaBytes
TlsCaBytes = 52
Set the ca bundle.
TlsCaPath
TlsCaPath = 53
Set the file from which to load the certificate authority bundle.
TlsCertBytes
TlsCertBytes = 42
Set the certificate chain
Parameter: (Bytes) certificates
TlsCertPath
TlsCertPath = 43
Set the file from which to load the certificate chain
Parameter: (String) File path
TlsDisablePlaintextConnection
TlsDisablePlaintextConnection = 55
Prevent client from connecting to a non-TLS endpoint by throwing network connection failed error.
TlsKeyBytes
TlsKeyBytes = 45
Set the private key corresponding to your own certificate
Parameter: (Bytes) Key
TlsKeyPath
TlsKeyPath = 46
Set the file from which to load the private key corresponding to your own certificate
Parameter: (String) File path
TlsPassword
TlsPassword = 54
Set the passphrase for encrypted private key. Password should be set before setting the key for the password to be used.
Parameter: (String) key passphrase
TlsPlugin
TlsPlugin = 41
Set the TLS plugin to load. This option, if used, must be set before any other TLS options Parameter: (String) file path or linker-resolved name
TlsVerifyPeers
TlsVerifyPeers = 47
Set the peer certificate field verification criteria
Parameter: (Bytes) Verification pattern
TraceClockSource
TraceClockSource = 35
Select clock source for trace files.
Parameter: (String) Trace clock source: now (the default) or realtime are supported.
TraceEnable
TraceEnable = 30
Enables trace output to a file in a directory of the clients choosing.
Parameter: (String) path to output directory (or NULL for current working directory)
TraceFileIdentifier
TraceFileIdentifier = 36
Once provided, this string will be used to replace the port/PID in the log file names.
Parameter: (String) The identifier that will be part of all trace file names
TraceFormat
TraceFormat = 34
Select the format of the log files.
Parameter: (String) format of trace files: xml (the default) and json are supported.
TraceInitializeOnSetup
TraceInitializeOnSetup = 38
Initialize trace files on network setup, determine the local IP later. Otherwise, tracing is initialized when opening the first database.
TraceLogGroup
TraceLogGroup = 33
Sets the LogGroup attribute with the specified value for all events in the trace output files.
Parameter: (String) value of the LogGroup attribute. The default log group is default.
TraceMaxLogsSize
TraceMaxLogsSize = 32
Sets the maximum size of all the trace output files put together.
Parameter: (Int64) max total size of trace files. This value should be in the range [0, long.MaxValue].
If the value is set to 0, there is no limit on the total size of the files.
The default is a maximum size of 104,857,600 bytes.
If the default roll size is used, this means that a maximum of 10 trace files will be written at a time.
TracePartialFileSuffix
TracePartialFileSuffix = 39
Set file suffix for partially written log files.
Parameter: (String) Append this suffix to partially written log files. When a log file is complete, it is renamed to remove the suffix. No separator is added between the file and the suffix. If you want to add a file extension, you should include the separator - e.g. '.tmp' instead of 'tmp' to add the 'tmp' extension.
TraceRollSize
TraceRollSize = 31
Sets the maximum size in bytes of a single trace output file. This value should be in the range [0, long.MaxValue]. If the value is set to 0, there is no limit on individual file size. The default is a maximum size of 10,485,760 bytes.
Parameter: (Int64) max size of a single trace output file
TraceShareAmongClientThreads
TraceShareAmongClientThreads = 37
Use the same base trace file name for all client threads as it did before version 7.2. The current default behavior is to use distinct trace file names for client threads by including their version and thread index.
UseObjectSerializer
UseObjectSerializer = 11
Enable the object serializer for network communication
0 is false, every other value is true