fdb 7.2.9 → 7.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fdb.rb +1 -1
  3. data/lib/fdboptions.rb +15 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5042bf9dc128d4e0f40c9e2c6eb70e9e5431a21240f7edd954c1a2c6fd79b994
4
- data.tar.gz: eca02591bd6b2b4ef41f821595bdb8dc30300d6810018615842ec4a6398bc118
3
+ metadata.gz: f49696ed3283b9e76f9caa6b7d064baa7db55edc4353a8c766a31da6a2429a9d
4
+ data.tar.gz: 0b27383d0b6f20cc586d239ea2306507ff79fd938ac7bafec53aceb0b0c289ce
5
5
  SHA512:
6
- metadata.gz: 310232bcee0e250cd2caddd3facd681bdaf3756d3e853d22f70feb9eefbc6ad363dff9ac8c49c10bad8c3929ba98638feb1a07e6c7862ce5dcd072b046dac079
7
- data.tar.gz: 827db122e2ac2034a2aefc23aa3e0bf5aa771b0e0df101d3c9e4ab0f3924109cc05da29df175075112189634072e275fdaf4cf98e9cc7585b6fa9962e9f96308
6
+ metadata.gz: fc2bd90b4531d65264172ee44fbcab0c0667c1830ce49e0b236cbf1450124eb0490b2cb2b89b7822f7cb5481562a33323090d446d8aae78482f7869bafdaded2
7
+ data.tar.gz: a894f8701fda023d7ba39a7e48ec6ce0f8eb760735412cc0c532cd4354d0c2395a893dc50e12f7e871078999f44492420632a6fab9c652051ea1f64519e1248c
data/lib/fdb.rb CHANGED
@@ -36,7 +36,7 @@ module FDB
36
36
  end
37
37
  end
38
38
  def self.api_version(version)
39
- header_version = 720
39
+ header_version = 730
40
40
  if self.is_api_version_selected?()
41
41
  if @@chosen_version != version
42
42
  raise "FDB API already loaded at version #{@@chosen_version}."
data/lib/fdboptions.rb CHANGED
@@ -34,6 +34,7 @@ module FDB
34
34
  "TRACE_CLOCK_SOURCE" => [35, "Select clock source for trace files. now (the default) or realtime are supported.", '', "Trace clock source"],
35
35
  "TRACE_FILE_IDENTIFIER" => [36, "Once provided, this string will be used to replace the port/PID in the log file names.", '', "The identifier that will be part of all trace file names"],
36
36
  "TRACE_SHARE_AMONG_CLIENT_THREADS" => [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.", nil, nil],
37
+ "TRACE_INITIALIZE_ON_SETUP" => [38, "Initialize trace files on network setup, determine the local IP later. Otherwise tracing is initialized when opening the first database.", nil, nil],
37
38
  "TRACE_PARTIAL_FILE_SUFFIX" => [39, "Set file suffix for partially written log files.", '', "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."],
38
39
  "KNOB" => [40, "Set internal tuning or debugging knobs", '', "knob_name=knob_value"],
39
40
  "TLS_PLUGIN" => [41, "Deprecated", '', "file path or linker-resolved name"],
@@ -56,6 +57,9 @@ module FDB
56
57
  "DISABLE_LOCAL_CLIENT" => [64, "Prevents connections through the local client, allowing only connections through externally loaded client libraries.", nil, nil],
57
58
  "CLIENT_THREADS_PER_VERSION" => [65, "Spawns multiple worker threads for each version of the client that is loaded. Setting this to a number greater than one implies disable_local_client.", 0, "Number of client threads to be spawned. Each cluster will be serviced by a single client thread."],
58
59
  "FUTURE_VERSION_CLIENT_LIBRARY" => [66, "Adds an external client library to be used with a future version protocol. This option can be used testing purposes only!", '', "path to client library"],
60
+ "RETAIN_CLIENT_LIBRARY_COPIES" => [67, "Retain temporary external client library copies that are created for enabling multi-threading.", nil, nil],
61
+ "IGNORE_EXTERNAL_CLIENT_FAILURES" => [68, "Ignore the failure to initialize some of the external clients", nil, nil],
62
+ "FAIL_INCOMPATIBLE_CLIENT" => [69, "Fail with an error if there is no client matching the server version the client is connecting to", nil, nil],
59
63
  "DISABLE_CLIENT_STATISTICS_LOGGING" => [70, "Disables logging of client statistics, such as sampled transaction activity.", nil, nil],
60
64
  "ENABLE_SLOW_TASK_PROFILING" => [71, "Deprecated", nil, nil],
61
65
  "ENABLE_RUN_LOOP_PROFILING" => [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.", nil, nil],
@@ -82,9 +86,12 @@ module FDB
82
86
  "TRANSACTION_SIZE_LIMIT" => [503, "Set the maximum transaction size in bytes. This sets the ``size_limit`` option on each transaction created by this database. See the transaction option description for more information.", 0, "value in bytes"],
83
87
  "TRANSACTION_CAUSAL_READ_RISKY" => [504, "The read version will be committed, and usually will be the latest committed, but might not be the latest committed in the event of a simultaneous fault and misbehaving clock.", nil, nil],
84
88
  "TRANSACTION_INCLUDE_PORT_IN_ADDRESS" => [505, "Deprecated. Addresses returned by get_addresses_for_key include the port when enabled. As of api version 630, this option is enabled by default and setting this has no effect.", nil, nil],
89
+ "TRANSACTION_AUTOMATIC_IDEMPOTENCY" => [506, "Set a random idempotency id for all transactions. See the transaction option description for more information. This feature is in development and not ready for general use.", nil, nil],
85
90
  "TRANSACTION_BYPASS_UNREADABLE" => [700, "Allows ``get`` operations to read from sections of keyspace that have become unreadable because of versionstamp operations. This sets the ``bypass_unreadable`` option of each transaction created by this database. See the transaction option description for more information.", nil, nil],
91
+ "TRANSACTION_USED_DURING_COMMIT_PROTECTION_DISABLE" => [701, "By default, operations that are performed on a transaction while it is being committed will not only fail themselves, but they will attempt to fail other in-flight operations (such as the commit) as well. This behavior is intended to help developers discover situations where operations could be unintentionally executed after the transaction has been reset. Setting this option removes that protection, causing only the offending operation to fail.", nil, nil],
92
+ "TRANSACTION_REPORT_CONFLICTING_KEYS" => [702, "Enables conflicting key reporting on all transactions, allowing them to retrieve the keys that are conflicting with other transactions.", nil, nil],
86
93
  "USE_CONFIG_DATABASE" => [800, "Use configuration database.", nil, nil],
87
- "TEST_CAUSAL_READ_RISKY" => [900, "An integer between 0 and 100 (default is 0) expressing the probability that a client will verify it can't read stale data whenever it detects a recovery.", nil, nil],
94
+ "TEST_CAUSAL_READ_RISKY" => [900, "Enables verification of causal read risky by checking whether clients are able to read stale data when they detect a recovery, and logging an error if so.", 0, "integer between 0 and 100 expressing the probability a client will verify it can't read stale data"],
88
95
  }
89
96
 
90
97
  @@TransactionOption = {
@@ -95,6 +102,11 @@ module FDB
95
102
  "NEXT_WRITE_NO_WRITE_CONFLICT_RANGE" => [30, "The next write performed on this transaction will not generate a write conflict range. As a result, other transactions which read the key(s) being modified by the next write will not conflict with this transaction. Care needs to be taken when using this option on a transaction that is shared between multiple threads. When setting this option, write conflict ranges will be disabled on the next write operation, regardless of what thread it is on.", nil, nil],
96
103
  "READ_YOUR_WRITES_DISABLE" => [51, "Reads performed by a transaction will not see any prior mutations that occured in that transaction, instead seeing the value which was in the database at the transaction's read version. This option may provide a small performance benefit for the client, but also disables a number of client-side optimizations which are beneficial for transactions which tend to read and write the same keys within a single transaction. It is an error to set this option after performing any reads or writes on the transaction.", nil, nil],
97
104
  "READ_AHEAD_DISABLE" => [52, "Deprecated", nil, nil],
105
+ "READ_SERVER_SIDE_CACHE_ENABLE" => [507, "Storage server should cache disk blocks needed for subsequent read requests in this transaction. This is the default behavior.", nil, nil],
106
+ "READ_SERVER_SIDE_CACHE_DISABLE" => [508, "Storage server should not cache disk blocks needed for subsequent read requests in this transaction. This can be used to avoid cache pollution for reads not expected to be repeated.", nil, nil],
107
+ "READ_PRIORITY_NORMAL" => [509, "Use normal read priority for subsequent read requests in this transaction. This is the default read priority.", nil, nil],
108
+ "READ_PRIORITY_LOW" => [510, "Use low read priority for subsequent read requests in this transaction.", nil, nil],
109
+ "READ_PRIORITY_HIGH" => [511, "Use high read priority for subsequent read requests in this transaction.", nil, nil],
98
110
  "DURABILITY_DATACENTER" => [110, "", nil, nil],
99
111
  "DURABILITY_RISKY" => [120, "", nil, nil],
100
112
  "DURABILITY_DEV_NULL_IS_WEB_SCALE" => [130, "Deprecated", nil, nil],
@@ -104,6 +116,7 @@ module FDB
104
116
  "ACCESS_SYSTEM_KEYS" => [301, "Allows this transaction to read and modify system keys (those that start with the byte 0xFF). Implies raw_access.", nil, nil],
105
117
  "READ_SYSTEM_KEYS" => [302, "Allows this transaction to read system keys (those that start with the byte 0xFF). Implies raw_access.", nil, nil],
106
118
  "RAW_ACCESS" => [303, "Allows this transaction to access the raw key-space when tenant mode is on.", nil, nil],
119
+ "BYPASS_STORAGE_QUOTA" => [304, "Allows this transaction to bypass storage quota enforcement. Should only be used for transactions that directly or indirectly decrease the size of the tenant group's data.", nil, nil],
107
120
  "DEBUG_RETRY_LOGGING" => [401, "", '', "Optional transaction name"],
108
121
  "TRANSACTION_LOGGING_ENABLE" => [402, "Deprecated", '', "String identifier to be used in the logs when tracing this transaction. The identifier must not exceed 100 characters."],
109
122
  "DEBUG_TRANSACTION_IDENTIFIER" => [403, "Sets a client provided identifier for the transaction that will be used in scenarios like tracing or profiling. Client trace logging or transaction profiling must be separately enabled.", '', "String identifier to be used when tracing or profiling this transaction. The identifier must not exceed 100 characters."],
@@ -114,6 +127,7 @@ module FDB
114
127
  "RETRY_LIMIT" => [501, "Set a maximum number of retries after which additional calls to ``onError`` will throw the most recently seen error code. Valid parameter values are ``[-1, INT_MAX]``. If set to -1, will disable the retry limit. Prior to API version 610, like all other transaction options, the retry limit must be reset after a call to ``onError``. If the API version is 610 or greater, the retry limit is not reset after an ``onError`` call. Note that at all API versions, it is safe and legal to set the retry limit each time the transaction begins, so most code written assuming the older behavior can be upgraded to the newer behavior without requiring any modification, and the caller is not required to implement special logic in retry loops to only conditionally set this option.", 0, "number of times to retry"],
115
128
  "MAX_RETRY_DELAY" => [502, "Set the maximum amount of backoff delay incurred in the call to ``onError`` if the error is retryable. Defaults to 1000 ms. Valid parameter values are ``[0, INT_MAX]``. If the maximum retry delay is less than the current retry delay of the transaction, then the current retry delay will be clamped to the maximum retry delay. Prior to API version 610, like all other transaction options, the maximum retry delay must be reset after a call to ``onError``. If the API version is 610 or greater, the retry limit is not reset after an ``onError`` call. Note that at all API versions, it is safe and legal to set the maximum retry delay each time the transaction begins, so most code written assuming the older behavior can be upgraded to the newer behavior without requiring any modification, and the caller is not required to implement special logic in retry loops to only conditionally set this option.", 0, "value in milliseconds of maximum delay"],
116
129
  "SIZE_LIMIT" => [503, "Set the transaction size limit in bytes. The size is calculated by combining the sizes of all keys and values written or mutated, all key ranges cleared, and all read and write conflict ranges. (In other words, it includes the total size of all data included in the request to the cluster to commit the transaction.) Large transactions can cause performance problems on FoundationDB clusters, so setting this limit to a smaller value than the default can help prevent the client from accidentally degrading the cluster's performance. This value must be at least 32 and cannot be set to higher than 10,000,000, the default transaction size limit.", 0, "value in bytes"],
130
+ "AUTOMATIC_IDEMPOTENCY" => [505, "Automatically assign a random 16 byte idempotency id for this transaction. Prevents commits from failing with ``commit_unknown_result``. WARNING: If you are also using the multiversion client or transaction timeouts, if either cluster_version_changed or transaction_timed_out was thrown during a commit, then that commit may have already succeeded or may succeed in the future. This feature is in development and not ready for general use.", nil, nil],
117
131
  "SNAPSHOT_RYW_ENABLE" => [600, "Snapshot read operations will see the results of writes done in the same transaction. This is the default behavior.", nil, nil],
118
132
  "SNAPSHOT_RYW_DISABLE" => [601, "Snapshot read operations will not see the results of writes done in the same transaction. This was the default behavior prior to API version 300.", nil, nil],
119
133
  "LOCK_AWARE" => [700, "The transaction can read and write to locked databases, and is responsible for checking that it took the lock.", nil, nil],
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.9
4
+ version: 7.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - FoundationDB
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-25 00:00:00.000000000 Z
11
+ date: 2023-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi