fdb 6.2.28 → 6.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41d67254345374e068f79240124926c9841dc184
4
- data.tar.gz: ae7445a1098cdc629c2a1a800786175867d757b9
3
+ metadata.gz: f95c6fedd5dccaaa4dbb0aae0459f1f6a579a950
4
+ data.tar.gz: caf650d765144b1d0663e05a05b2d7b0038604ca
5
5
  SHA512:
6
- metadata.gz: a579cb27095daf31b81049b00ef073b4f6a424da35c3c0a1edf074fc53fd1261a921c08287a7150b799d042a152a4cb5798ba3f57df3c9456753e89c947966ba
7
- data.tar.gz: 12e3f5616bd9d236f463073e0e372dec70e9b272d80eb35e53a84ec525af15ef39ebd694e98bcd27d4b40feb2faa1edc388f53321a4bad058dfc6a966314122f
6
+ metadata.gz: bac2b511d2afe63e24c05f273282b1d9301a696e064c15c5e56f8d58d8fa5e2e11bd8982f86a7a5629eaef055ecf2960b5934836a21540996c9dd1adc33aeedc
7
+ data.tar.gz: 5073c411c79e744a71d75916d04ad570ac5e966e62e7d02a106d656d8c6fd92f6e4cc097c5157e9bd81d9a5bd035763278ac1b0a14eb09620626da87fa9979ec
@@ -36,7 +36,7 @@ module FDB
36
36
  end
37
37
  end
38
38
  def self.api_version(version)
39
- header_version = 620
39
+ header_version = 630
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}."
@@ -108,6 +108,7 @@ module FDB
108
108
  attach_function :fdb_transaction_get, [ :pointer, :pointer, :int, :int ], :pointer
109
109
  attach_function :fdb_transaction_get_key, [ :pointer, :pointer, :int, :int, :int, :int ], :pointer
110
110
  attach_function :fdb_transaction_get_range, [ :pointer, :pointer, :int, :int, :int, :pointer, :int, :int, :int, :int, :int, :int, :int, :int, :int ], :pointer
111
+ attach_function :fdb_transaction_get_estimated_range_size_bytes, [ :pointer, :pointer, :int, :pointer, :int ], :pointer
111
112
  attach_function :fdb_transaction_set, [ :pointer, :pointer, :int, :pointer, :int ], :void
112
113
  attach_function :fdb_transaction_clear, [ :pointer, :pointer, :int ], :void
113
114
  attach_function :fdb_transaction_clear_range, [ :pointer, :pointer, :int, :pointer, :int ], :void
@@ -817,6 +818,13 @@ module FDB
817
818
  prefix = prefix.dup.force_encoding "BINARY"
818
819
  get_range(prefix, FDB.strinc(prefix), options, &block)
819
820
  end
821
+
822
+ def get_estimated_range_size_bytes(begin_key, end_key)
823
+ bkey = FDB.key_to_bytes(begin_key)
824
+ ekey = FDB.key_to_bytes(end_key)
825
+ Int64Future.new(FDBC.fdb_transaction_get_estimated_range_size_bytes(@tpointer, bkey, bkey.bytesize, ekey, ekey.bytesize))
826
+ end
827
+
820
828
  end
821
829
 
822
830
  TransactionRead.class_variable_set("@@StreamingMode", @@StreamingMode)
@@ -31,6 +31,8 @@ module FDB
31
31
  "TRACE_MAX_LOGS_SIZE" => [32, "Sets the maximum size of all the trace output files put together. This value should be in the range ``[0, INT64_MAX]``. 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.", 0, "max total size of trace files"],
32
32
  "TRACE_LOG_GROUP" => [33, "Sets the 'LogGroup' attribute with the specified value for all events in the trace output files. The default log group is 'default'.", '', "value of the LogGroup attribute"],
33
33
  "TRACE_FORMAT" => [34, "Select the format of the log files. xml (the default) and json are supported.", '', "Format of trace files"],
34
+ "TRACE_CLOCK_SOURCE" => [35, "Select clock source for trace files. now (the default) or realtime are supported.", '', "Trace clock source"],
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"],
34
36
  "KNOB" => [40, "Set internal tuning or debugging knobs", '', "knob_name=knob_value"],
35
37
  "TLS_PLUGIN" => [41, "Deprecated", '', "file path or linker-resolved name"],
36
38
  "TLS_CERT_BYTES" => [42, "Set the certificate chain", '', "certificates"],
@@ -51,7 +53,8 @@ module FDB
51
53
  "EXTERNAL_CLIENT_DIRECTORY" => [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.", '', "path to directory containing client libraries"],
52
54
  "DISABLE_LOCAL_CLIENT" => [64, "Prevents connections through the local client, allowing only connections through externally loaded client libraries. Intended primarily for testing.", nil, nil],
53
55
  "DISABLE_CLIENT_STATISTICS_LOGGING" => [70, "Disables logging of client statistics, such as sampled transaction activity.", nil, nil],
54
- "ENABLE_SLOW_TASK_PROFILING" => [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.", nil, nil],
56
+ "ENABLE_SLOW_TASK_PROFILING" => [71, "Deprecated", nil, nil],
57
+ "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],
55
58
  "CLIENT_BUGGIFY_ENABLE" => [80, "Enable client buggify - will make requests randomly fail (intended for client testing)", nil, nil],
56
59
  "CLIENT_BUGGIFY_DISABLE" => [81, "Disable client buggify", nil, nil],
57
60
  "CLIENT_BUGGIFY_SECTION_ACTIVATED_PROBABILITY" => [82, "Set the probability of a CLIENT_BUGGIFY section being active for the current execution.", 0, "probability expressed as a percentage between 0 and 100"],
@@ -71,14 +74,14 @@ module FDB
71
74
  "TRANSACTION_MAX_RETRY_DELAY" => [502, "Set the maximum amount of backoff delay incurred in the call to ``onError`` if the error is retryable. This sets the ``max_retry_delay`` option of each transaction created by this database. See the transaction option description for more information.", 0, "value in milliseconds of maximum delay"],
72
75
  "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"],
73
76
  "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],
74
- "TRANSACTION_INCLUDE_PORT_IN_ADDRESS" => [505, "Addresses returned by get_addresses_for_key include the port when enabled. This will be enabled by default in api version 630, and this option will be deprecated.", nil, nil],
77
+ "TRANSACTION_INCLUDE_PORT_IN_ADDRESS" => [505, "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],
75
78
  }
76
79
 
77
80
  @@TransactionOption = {
78
81
  "CAUSAL_WRITE_RISKY" => [10, "The transaction, if not self-conflicting, may be committed a second time after commit succeeds, in the event of a fault", nil, nil],
79
82
  "CAUSAL_READ_RISKY" => [20, "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],
80
83
  "CAUSAL_READ_DISABLE" => [21, "", nil, nil],
81
- "INCLUDE_PORT_IN_ADDRESS" => [23, "Addresses returned by get_addresses_for_key include the port when enabled. This will be enabled by default in api version 630, and this option will be deprecated.", nil, nil],
84
+ "INCLUDE_PORT_IN_ADDRESS" => [23, "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],
82
85
  "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],
83
86
  "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.", nil, nil],
84
87
  "READ_AHEAD_DISABLE" => [52, "Deprecated", nil, nil],
@@ -95,6 +98,7 @@ module FDB
95
98
  "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."],
96
99
  "LOG_TRANSACTION" => [404, "Enables tracing for this transaction and logs results to the client trace logs. The DEBUG_TRANSACTION_IDENTIFIER option must be set before using this option, and client trace logging must be enabled to get log output.", nil, nil],
97
100
  "TRANSACTION_LOGGING_MAX_FIELD_LENGTH" => [405, "Sets the maximum escaped length of key and value fields to be logged to the trace file via the LOG_TRANSACTION option, after which the field will be truncated. A negative value disables truncation.", 0, "Maximum length of escaped key and value fields."],
101
+ "SERVER_REQUEST_TRACING" => [406, "Sets an identifier for server tracing of this transaction. When committed, this identifier triggers logging when each part of the transaction authority encounters it, which is helpful in diagnosing slowness in misbehaving clusters. The identifier is randomly generated. When there is also a debug_transaction_identifier, both IDs are logged together.", nil, nil],
98
102
  "TIMEOUT" => [500, "Set a timeout in milliseconds which, when elapsed, will cause the transaction automatically to be cancelled. Valid parameter values are ``[0, INT_MAX]``. If set to 0, will disable all timeouts. All pending and any future uses of the transaction will throw an exception. The transaction can be used again after it is reset. Prior to API version 610, like all other transaction options, the timeout must be reset after a call to ``onError``. If the API version is 610 or greater, the timeout is not reset after an ``onError`` call. This allows the user to specify a longer timeout on specific transactions than the default timeout specified through the ``transaction_timeout`` database option without the shorter database timeout cancelling transactions that encounter a retryable error. Note that at all API versions, it is safe and legal to set the timeout 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 timeout"],
99
103
  "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"],
100
104
  "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"],
@@ -105,6 +109,10 @@ module FDB
105
109
  "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],
106
110
  "READ_LOCK_AWARE" => [702, "The transaction can read from locked databases.", nil, nil],
107
111
  "USE_PROVISIONAL_PROXIES" => [711, "This option should only be used by tools which change the database configuration.", nil, nil],
112
+ "REPORT_CONFLICTING_KEYS" => [712, "The transaction can retrieve keys that are conflicting with other transactions.", nil, nil],
113
+ "SPECIAL_KEY_SPACE_RELAXED" => [713, "By default, the special key space will only allow users to read from exactly one module (a subspace in the special key space). Use this option to allow reading from zero or more modules. Users who set this option should be prepared for new modules, which may have different behaviors than the modules they're currently reading. For example, a new module might block or return an error.", nil, nil],
114
+ "TAG" => [800, "Adds a tag to the transaction that can be used to apply manual targeted throttling. At most 5 tags can be set on a transaction.", '', "String identifier used to associated this transaction with a throttling group. Must not exceed 16 characters."],
115
+ "AUTO_THROTTLE_TAG" => [801, "Adds a tag to the transaction that can be used to apply manual or automatic targeted throttling. At most 5 tags can be set on a transaction.", '', "String identifier used to associated this transaction with a throttling group. Must not exceed 16 characters."],
108
116
  }
109
117
 
110
118
  @@StreamingMode = {
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: 6.2.28
4
+ version: 6.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - FoundationDB
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-14 00:00:00.000000000 Z
11
+ date: 2020-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -34,15 +34,15 @@ executables: []
34
34
  extensions: []
35
35
  extra_rdoc_files: []
36
36
  files:
37
- - LICENSE
38
- - lib/fdb.rb
39
- - lib/fdbdirectory.rb
40
- - lib/fdbimpl.rb
41
- - lib/fdbimpl_v609.rb
42
- - lib/fdblocality.rb
43
- - lib/fdboptions.rb
44
- - lib/fdbsubspace.rb
45
- - lib/fdbtuple.rb
37
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/LICENSE"
38
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdb.rb"
39
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdbdirectory.rb"
40
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdbimpl.rb"
41
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdbimpl_v609.rb"
42
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdblocality.rb"
43
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdboptions.rb"
44
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdbsubspace.rb"
45
+ - "/opt/foundation/__sourcedir_this_is_some_very_long_name_dir__/foundationdb/bindings/ruby/lib/fdbtuple.rb"
46
46
  homepage: https://www.foundationdb.org
47
47
  licenses:
48
48
  - Apache v2