Commit Graph

19438 Commits

Author SHA1 Message Date
Steve Atherton 478ff1eb76
Merge pull request #6652 from sfc-gh-anoyes/anoyes/fast-alloc
Move most usage of FastAlloc to malloc
2022-03-26 15:46:05 -07:00
A.J. Beamon 2475c4e2d6 Fix various non-compiling code errors. 2022-03-25 15:56:49 -07:00
A.J. Beamon 48447c2788 Add the tenant management module to CMakeLists. Don't test tenants before API version 710. 2022-03-25 14:35:16 -07:00
Ata E Husain Bohra 86e201001e
Extend flat_buffer to support unordered_set (de)serialize (#6681)
* Extend flat_buffer to support unordered_set (de)serialize

Extend flat_buffer to support unordered_set (de)serialize

Description

Extend flat_buffer to support unordered_set (de)serialize

Testing

Added unit test in flat_buffers.cpp to validate the functionality:
1. Empty unordered_set (de)serialize
1. Non-Empty unordered_set (de)serialize
2022-03-25 14:29:43 -07:00
A.J. Beamon e8a38bb048 Fix bug in tenant map range reads when the end key is outside of the tenant map range. 2022-03-25 14:24:25 -07:00
Evan Tschannen 90983990df
Merge pull request #6680 from sfc-gh-jslocum/bg_client_bindings_improvements
granule parallelism, metrics, and other improvements to bg client bindings
2022-03-25 13:44:43 -07:00
neethuhaneesha d54fdd782a
Merge pull request #6687 from sfc-gh-jslocum/no_rocks_blob_granule
Disabling rocks in blob granule tests
2022-03-25 13:17:56 -07:00
A.J. Beamon b4cfcc10d3 Move Python tenant management to its own module 2022-03-25 11:36:35 -07:00
sfc-gh-tclinkenbeard c8bac58536 Fix typo in SimpleKeyValueStoreInterface class name 2022-03-25 09:10:19 -07:00
Renxuan Wang 2a59c5fd4e
Workers should monitor coordinators in submitCandidacy(). (#6655)
* Workers should monitor coordinators in submitCandidacy().

* Change re-resolve delay to a knob.
2022-03-24 19:20:42 -07:00
Steve Atherton 89addac989
Merge pull request #6563 from sfc-gh-jslocum/s3_sdk_credentials
S3 sdk credentials
2022-03-24 19:10:11 -07:00
Josh Slocum fd6c9544e2 Disabling rocks in blob granule tests 2022-03-24 20:40:16 -05:00
Josh Slocum b81074a0da Merge branch 'main' into bg_client_bindings_improvements 2022-03-24 20:34:53 -05:00
Josh Slocum b41bb33d15 Merge branch 'main' into s3_sdk_credentials 2022-03-24 18:30:47 -05:00
Trevor Clinkenbeard cc934ff1d7
Merge pull request #6632 from sfc-gh-jslocum/dd_better_cancelling
Better cancelling logic that reflects whether move has actually started
2022-03-24 16:28:01 -07:00
Josh Slocum 0ff1cd102e Merge branch 'main' into bg_client_bindings_improvements 2022-03-24 17:19:01 -05:00
Josh Slocum 3cd1e5599e Cleanup 2022-03-24 17:15:11 -05:00
Josh Slocum 989dd8d7eb Finished implementing beginVersion 2022-03-24 17:15:11 -05:00
Josh Slocum 1b1182f414 Blob Worker side of beginVersion done, added unit test 2022-03-24 17:15:11 -05:00
Josh Slocum 029c30d035 fix formatting 2022-03-24 16:05:51 -05:00
Josh Slocum bf3da72637 Merge branch 'main' into bg_client_bindings_improvements 2022-03-24 15:56:30 -05:00
Josh Slocum b42c49ca0a Adding full file length for future-proofing 2022-03-24 15:56:03 -05:00
Josh Slocum 5684fcace4 Merge branch 'main' into s3_sdk_credentials 2022-03-24 15:44:41 -05:00
Aaron Molitor ad6a63c16d used fixed Jinja2 version for documentation 2022-03-24 15:39:29 -05:00
Josh Slocum b92c6ea92c granule parallelism, metrics, and other improvements to bg client bindings 2022-03-24 13:44:09 -05:00
A.J. Beamon 1b735593eb
Merge pull request #6643 from sfc-gh-ajbeamon/fdb-tenant-python
Python support for tenants
2022-03-24 10:34:47 -07:00
Jingyu Zhou d3292ceb9d
Merge pull request #6666 from jzhou77/decoder-fix
Fix missing blob access key in credentials
2022-03-24 10:04:47 -07:00
Balachandar Namasivayam 831d2f8e2c
Merge pull request #6660 from bnamasivayam/release-7.1
Add backup documentation to select between v2 and v4 signature protocol.
2022-03-24 09:41:06 -07:00
Jingyu Zhou 902c10c299 Fix missing blob access key in credentials
This causes failures of backup_auth_missing: ErrorDescription="Cannot find
authentication details (such as a password or secret key) for the specified
Backup Container URL"

This is found by manually running "fdbdecode".
2022-03-24 09:26:41 -07:00
Jingyu Zhou 2532ac5882 Add knob value changes to fdbdecode
E.g., HTTP_VERBOSE_LEVEL, and HTTP_REQUEST_AWS_V4_HEADER knobs.
2022-03-24 09:26:41 -07:00
Josh Slocum ace2750ae3 Build AWS SDK as part of FDB, and use it to acquire blob credentials. This supports IAM role-based authentication, in addition to all existing credential types. 2022-03-24 10:09:06 -05:00
Ata E Husain Bohra 017709aec6
Introduce BlobCipher interface and cipher caching interface (#6391)
* Introduce BlobCipher interface and cipher caching interface

 diff-3: Update the code to avoid deriving encryption key periodically.
         Implement EncyrptBuf interface to limit memcpys.
         Improve both unit test and simulation to better code coverage.
 diff-2: Add specific error code for OpenSSL AES call failures
 diff-1: Update encryption scheme to AES-256-CTR. Minor
         updates to Header to capture more information.

Major changes proposed are:
1. Introduce encyrption header format.
2. Introduce a BlobCipher cipher key representation encoding
following information: baseCipher details, derived encryption cipher
details, creationTime and random salt.
3. Introduce interface to support block cipher encrytion and decrytion
operations. Encyrption populates encryption header allowing client to
persist them on-disk, this header is then read allowing decryption
on reads.
4. Introduce interface to allow in-memory caching of cipher keys. The
cache allowing mapping of "encryption domain" -> "base cipher id" ->
"derived cipher keys" (3D hash map). This cache interface will be used
by FDB processes participating in encryption to cache recently used
ciphers (performance optimization).

Testing:
1. Unit test to validate caching interface.
2. Update EncryptionOps simulation test to validate block cipher
operations.
2022-03-24 07:31:49 -07:00
Andrew Noyes 977fab2089
Make overwriteProxiesCount a function of conf keys (#6645)
* Improve assert diagnostics

* Make overwriteProxiesCount a deterministic function of conf keys

Previously, the final values for grv_proxy count, commit_proxy count,
and proxy count were derived from already-derived values from
overwriteProxiesCount. Instead, we should only look at the conf keys.

Also treat these keys as set to -1 if absent

* Add unit test

Illustrates how overwriteCommitProxy is not a function of conf keys.
Passes after change and fails before
2022-03-23 17:15:28 -07:00
A.J. Beamon 77ce0f4fc7 Add a unit test in Python to exercise some of the tenant code. Add some comments to the allocate and delete tenant implementations. 2022-03-23 15:50:06 -07:00
He Liu 8f3dbe2575
Merge pull request #6663 from kakaiu/Add-RocksDB-Mem-Usage-Metrics
Add RocksDB Memory Usage Metrics
2022-03-23 14:51:23 -07:00
A.J. Beamon ded4d046f0 Update transactional decorator documentation to reference tenants 2022-03-23 14:46:56 -07:00
A.J. Beamon 1d0a3669df Add documentation for the new Python tenant APIs. 2022-03-23 14:46:56 -07:00
A.J. Beamon 8b92d3fccd Use special keys to create/delete tenants 2022-03-23 14:46:56 -07:00
Jon Fu 8e848f16df Support tuples in python tenants 2022-03-23 14:46:55 -07:00
A.J. Beamon ce03f5783d Add tenant support to Python 2022-03-23 14:46:55 -07:00
A.J. Beamon ca653c77ee
Tenant binding tester support (#6642)
* Add binding tester support for tenants

* Configure tenant_mode=optional_experimental in the binding tester

* Use the special key-space to delete tenants in between binding tester runs.

* Separate tenant tester spec into its own file.
2022-03-23 13:57:45 -07:00
Zhe Wang 383b0cf0e1 add-rocksdb-memory-usage-metrics 2022-03-23 15:59:32 -04:00
Trevor Clinkenbeard bdff100ef9
Merge pull request #6582 from sfc-gh-tclinkenbeard/global-tag-throttling2
Various `TagThrottler` enhancements
2022-03-23 12:54:30 -07:00
Evan Tschannen 4a085fc844
Merge pull request #6602 from apple/blob_integration
Blob integration
2022-03-23 12:02:43 -07:00
Jingyu Zhou 32257b4acc
Merge pull request #6634 from jzhou77/main
Move resolutionBalancing() back to master
2022-03-23 11:39:49 -07:00
Trevor Clinkenbeard be57fd5b26
Fix `TEST` macro comment
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-03-23 11:07:06 -07:00
sfc-gh-tclinkenbeard 0726832e80 Merge remote-tracking branch 'origin/main' into global-tag-throttling2 2022-03-23 11:05:02 -07:00
Bala Namasivayam 930cd7f9c7 Add backup documentation to select between v2 and v4 signature protocol. 2022-03-23 11:03:49 -07:00
Jingyu Zhou 0c88be0393 Refactor resolution balancing into separate files 2022-03-23 09:57:31 -07:00
Jingyu Zhou 437e7d27c6 Use trigger to start resolutionBalancing
Trigger when there are more than one resolvers. This also avoids the problem of
receiving multiple UpdateRecoveryDataRequests.
2022-03-23 09:57:31 -07:00