Commit Graph

25143 Commits

Author SHA1 Message Date
Ankita Kejriwal 253934bb82
Merge pull request #9395 from sfc-gh-akejriwal/tenantmap
Assert that `checkTenantEntry()` on storage server is reading tenantMap at a legal version
2023-02-17 11:42:37 -08:00
Yi Wu 653a5eee28
EaR: Configurable encryption support for Redwood (#9359)
Supporting configurable encryption for Redwood, which supports switching to different encryption algorithm and having variable size encryption header.

Currently to support both old (non-configurable) and new (configurable) encryption header, the PR assume we have a fixed size encryption header (104 bytes) which is large enough to fit both kind of encryption header. Moving forward the plan is to update the IPager interface to support variable size encoding header, and when Redwood tries to in-place update a page but the reserved encoding header buffer is not large enough, rebuild the page instead.
2023-02-17 10:58:48 -08:00
Jon Fu 0d7b6d626b update restoreCluster test to account for conflicting_restore 2023-02-17 10:36:28 -08:00
Josh Slocum 6c2fb13173
adding wait parameter to blobbify api (#9360)
* adding wait parameter to blobbify api

* formatting

* fixing comment style

* fixing bug and adding debugging

* adding blob ranges unit test

* testing both blobbify cases in cancel

* formatting

* switch to explicit blocking api instead of boolean flag

* remove comments

* format
2023-02-17 12:20:53 -06:00
Hui Liu aa1d983132 Truncate logs after force-flushing cold blob granules 2023-02-17 10:17:04 -08:00
Jingyu Zhou 18e1a78815
Merge pull request #9396 from sfc-gh-satherton/platform-total-space-correction
Adjust reported total space for a disk by the reserved space which normal users cannot use.
2023-02-17 10:05:26 -08:00
Steve Atherton aba2188491
Merge pull request #9399 from sfc-gh-satherton/read-after-shutdown-protection
Shut down PriorityMultiLocks more gracefully
2023-02-17 10:04:51 -08:00
Steve Atherton dd8ff53b91
Merge pull request #9397 from sfc-gh-satherton/redwood-used-bytes-update
Update StorageBytes::used reported by Redwood to be the physical file size
2023-02-16 23:59:10 -08:00
Steve Atherton 9d2074224e Added more detailed comments to StorageBytes fields. 2023-02-16 23:55:47 -08:00
Steve Atherton bca42ed232 Merge commit '99b23ac04d302b1edc6db04f1488a20f8f772ae1' into redwood-used-bytes-update 2023-02-16 22:07:44 -08:00
Steve Atherton cc1c1d5435 Merge commit '99b23ac04d302b1edc6db04f1488a20f8f772ae1' into platform-total-space-correction 2023-02-16 22:06:49 -08:00
Ata E Husain Bohra 99b23ac04d
EaR: Configurable encryption support for Tlog mutations (#9394)
* EaR: Configurable encryption support for TLog mutations

Description

  diff-1 : Address review comments

Major changes includes:
1. Update the code involved in ensuring Tlog mutation encryption to be
compliant with "configurable encryption" feature.
2. Update ENABLE_CONFIGURABLE_ENCRYPTION flag to be 'true' by default
and BUGGIFY it.

Testing

devRunCorrectness - 100K
2023-02-16 19:01:59 -08:00
Ankita Kejriwal da7d3c1129 Merge branch 'main' of github.com:apple/foundationdb into tenantmap 2023-02-16 16:06:10 -08:00
Steve Atherton ccba8731dd
Math bug fix.
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2023-02-16 15:48:16 -08:00
Nim Wijetunga fd231e3f14
Configurable Encryption Support for TxnStateStore (#9387)
Configurable encryption for Transaction State Store
2023-02-16 15:20:14 -08:00
Josh Slocum c26831ec04
adding version metadata to blob granule file pointers (#9392) 2023-02-16 17:11:11 -06:00
Nim Wijetunga e03eca778c
Configurable Encryption Support for Backup (#9375)
Snapshot backup configurable encryption support
2023-02-16 15:03:27 -08:00
Jon Fu 53fc43a3a6 Merge branch 'main' of github.com:apple/foundationdb into split-tenant-metadata 2023-02-16 14:46:03 -08:00
Yanqin Jin c3d6ae0213
Throw invalid_tenant_configuration when changing assigned cluster (#9350)
Since we currently do not support tenant movement, we should as well explicitly disallow changing the assigned
cluster of a tenant during configuration by throwing `invalid_tenant_configuration` for now.

Test plan:
- add coverage for changing assigned cluster during tenant configuration
- fdbcli
- simulation tests
2023-02-16 14:20:59 -08:00
Santosh Porwal afa9952164 Adding support to pass custom fdb_build timestamp, required to achieve uniform naming across different builds
Adding support to pass custom fdb_build timestamp, required to achieve uniform naming across different builds.
2023-02-16 13:54:02 -08:00
Jon Fu 036078234e fix some leftover issues from branch merge 2023-02-16 12:54:45 -08:00
Ankita Kejriwal b92aeca869 Merge branch 'main' of github.com:apple/foundationdb into tenantmap 2023-02-16 12:00:34 -08:00
Jon Fu ab15478ef9 Merge branch 'main' of github.com:apple/foundationdb into split-tenant-metadata 2023-02-16 10:04:07 -08:00
Jingyu Zhou 437cdb37ee
Merge pull request #9388 from jzhou77/fix
Fix exclusion in repairDeadDatacenter to be remote only
2023-02-16 09:42:42 -08:00
Jingyu Zhou 6b5d4fcb36
Merge pull request #9390 from sfc-gh-ajbeamon/clear-tenants-after-test
When clearing the database after a test, delete all tenants except the default tenant
2023-02-16 09:40:30 -08:00
Junhyun Shim d9c126a2d9
Introduce WipedString for Arena block holding AuthZ tokens (#9381)
* Enable secure allocation mode in Arena

This mode allows zeroing out blocks holding sensitive data after use

* Introduce WipedString to all token-holding memory

Also introduce a option flag "sensitive"

* Make pointer equivalency a hard requirement for non-ASAN builds

So that we can detect when Arena/malloc/memory-wipe behavior changes
2023-02-16 10:44:32 +01:00
Steve Atherton a1c804bc87 Added PriorityMultiLock::halt() and used that instead of kill() which avoids broken_promise errors if the lock user does not stop all of its lock-taking actors before destructing the lock and itself. 2023-02-15 23:32:17 -08:00
Steve Atherton 1d01444383 Update StorageBytes::used reported by Redwood to be the physical file size to match the behavior of other storage engines. 2023-02-15 19:02:56 -08:00
Steve Atherton 4b19eee33e Adjust reported total space for a disk by the reserved space which normal users cannot use. 2023-02-15 19:01:30 -08:00
Ankita Kejriwal 56bdffa9dc Assert that storage server is reading tenantMap at a legal version 2023-02-15 18:47:17 -08:00
Junhyun Shim 7f43247b14 Fix Valgrind "conditional jump based on uninitialized value" 2023-02-15 17:53:46 -08:00
A.J. Beamon ea798cded7
Merge pull request #9391 from sfc-gh-ajbeamon/metacluster-restore-prevent-concurrent-restores
Prevent the same cluster from being restored concurrently
2023-02-15 16:48:14 -08:00
Jon Fu 8f4aec7d7f address review comments and fix some test errors 2023-02-15 15:58:19 -08:00
A.J. Beamon 1d2af3bef4 Update some trace event names to avoid duplication and be more clear about what has just happened 2023-02-15 15:29:40 -08:00
Jon Fu 1af6d8ff92 fix various correctness issues and listTenant test 2023-02-15 15:01:17 -08:00
A.J. Beamon 4aa7c8564a Don't clear after the tenant creation test in several test files 2023-02-15 12:58:21 -08:00
Jingyu Zhou 99a8bfda11 Reorder trace events 2023-02-15 12:27:17 -08:00
A.J. Beamon f2ff385018 Prevent the same cluster from being restored concurrently 2023-02-15 12:05:51 -08:00
A.J. Beamon adbe1296b7
Merge pull request #9384 from sfc-gh-ajbeamon/metacluster-restore-reconcile-parallelism
Run metacluster restore reconcile transactions in parallel
2023-02-15 12:01:00 -08:00
A.J. Beamon 84142ab48d When clearing the database after a test, delete all tenants except the default tenant 2023-02-15 11:57:25 -08:00
Jingyu Zhou 02cdd0e1db Fix exclusion in repairDeadDatacenter to be remote only
If primary is excluded, the recovery will become stuck because no servers can
be recruited in the next time.
2023-02-15 11:15:18 -08:00
Jingyu Zhou 63814c9145
Merge pull request #9380 from sfc-gh-ajbeamon/fix-assigned-cluster-in-test
Try again to fix the logic in choosing the assigned cluster in the metacluster management test
2023-02-15 11:05:10 -08:00
Hui Liu fa9c80e17f
Merge pull request #9373 from sfc-gh-huliu/fixurl
Fix manifest file list issue on s3
2023-02-15 10:16:38 -08:00
A.J. Beamon a3af2b7663 Run restore reconcile transactions in parallel 2023-02-15 09:50:16 -08:00
Josh Slocum eefc889389
Add tenant and encryption support to new bg file apis (#9315)
* Add tenant and encryption support to new bg file apis

* formatting

* fixing comment style for linter
2023-02-15 11:48:40 -06:00
Markus Pilman b79885d5b9 Merge remote-tracking branch 'origin/main' into features/tenant-lock-fdbcli
# Conflicts:
#	fdbserver/ApplyMetadataMutation.cpp
2023-02-15 18:37:18 +01:00
Vaidas Gasiunas afc25035f8
Client status report API in Java and python bindings (#9366)
* get_client_status: add to Java bindings

* Add get_client_status in python binding

* Make python unit tests available as ctest

* Fix file name in the copyright header

* Fix library path name for mac

* get_client_status: Minor changes in Java & Python bindings addressing review comments

* Rename fdb_python_unit_tests to unit_tests
2023-02-15 18:00:53 +01:00
Ata E Husain Bohra 8c94b340ce
EaR: Update encryption methods to make 'cipherHeaderKey' optional (#9378)
* EaR: Update encryption methods to make 'cipherHeaderKey' optional

Description

 diff-1: Address review comments

Major changes includes:
1. Update BlobCipher Encrypt/Decrypt classes to make 'headerCipher' optional
2. Update GetEncryptionCipherKeys actor methods to make 'headerCipherKey' optional
3. Update the usage across all encryption participant methods

Testing

BlobCipherUnitTest
EnryptedBackupCorrecctness
BlobGranuleCorrectness*

devRunCorrectness - 100K
2023-02-15 08:56:11 -08:00
A.J. Beamon 545e08e1af Try again to fix the logic in choosing the assigned cluster in the metacluster management test 2023-02-14 21:39:42 -08:00
Jingyu Zhou b97ee87eba
Merge pull request #9367 from jzhou77/fix
Enable RocksDB restarting tests
2023-02-14 20:47:31 -08:00