Commit Graph

22943 Commits

Author SHA1 Message Date
Josh Slocum 4ebe341e2c adding --disable_client_bypass to mako 2022-10-07 16:12:39 -05:00
Zhe Wu f5381ca2a8 Format clean 2022-10-06 14:09:00 -07:00
Zhe Wu 43cd419078 Comments cleanup 2022-10-06 14:09:00 -07:00
Zhe Wu c4c71c7806 Add tests 2022-10-06 14:09:00 -07:00
Zhe Wu f41d88cd45 Ignore CC_DEGRADED_PEER_DEGREE_TO_EXCLUDE for disconnected peers. Core logic 2022-10-06 14:09:00 -07:00
Jingyu Zhou 14107b315d
Merge pull request #8406 from sfc-gh-yiwu/encrypt_asan
Fix heap-use-after-free in TenantAwareEncryptionKeyProvider
2022-10-06 12:49:35 -07:00
Yi Wu d3e5fa6789 Fix heap-use-after-free in TenantAwareEncryptionKeyProvider 2022-10-06 11:00:11 -07:00
Jingyu Zhou e823fbe1b9
Merge pull request #8408 from sfc-gh-anoyes/anoyes/fix-restart-tests
Remove testClass from restart tests
2022-10-05 16:41:45 -07:00
Andrew Noyes 27e0a16cdb Remove testClass from restart tests
Old binaries don't understand the testClass field, so we can't have it
in test files old binaries might read. In the future we can have it for
7.2+
2022-10-05 15:49:24 -07:00
A.J. Beamon f8186988bc
Merge pull request #8378 from sfc-gh-ajbeamon/tenant-support-for-database-switching
Add tenant support for database switching
2022-10-05 14:57:33 -07:00
A.J. Beamon 09050c0b87
Merge pull request #8405 from sfc-gh-ajbeamon/versionstamp-in-key-backed-object-property
Support versionstamps in KeyBackedBinaryValue
2022-10-05 13:45:29 -07:00
Markus Pilman 004180d8fc
Merge pull request #8404 from sfc-gh-mpilman/bugfixes/pr8397/address-review
Address review comments
2022-10-05 14:36:08 -06:00
Sreenath Bodagala e83229ed8b
- Version vector specific: Propagate the latest commit version, as (#8393)
part of the read request, when reading from a storage server.
2022-10-05 16:23:56 -04:00
Steve Atherton 354e36fb41
Merge pull request #8400 from sfc-gh-satherton/sqlite-sim-fix-main
Sim-only bug fix where SQLite can take too long to shut down
2022-10-05 13:10:45 -07:00
A.J. Beamon 0bd94e8464
Merge pull request #8327 from sfc-gh-jfu/metacluster-status
Metacluster metrics in Status and trace events
2022-10-05 12:56:48 -07:00
A.J. Beamon 44ab6046e3 Fix missing operator to get address of offset 2022-10-05 12:55:33 -07:00
Xiaoge Su 7a9c898bc1 fixup! Reformat zstd.cpp 2022-10-05 12:52:39 -07:00
Xiaoge Su 8868201ff9 fixup! Restrict the flags to CLang only 2022-10-05 12:52:39 -07:00
Xiaoge Su c3e84f4e8f Allow build FoundationDB with zstd compression library
With this patch, a new option, FLOW_USE_ZSTD, is introduced. If turned
ON, flow will compile with zstd compression library.
2022-10-05 12:52:39 -07:00
A.J. Beamon cfb36bd9c3 Support versionstamps in key backed object properties 2022-10-05 12:48:40 -07:00
Jon Fu 299b1b32e2 create new tracking key for metacluster traces 2022-10-05 12:08:36 -07:00
Jon Fu 30902da0d2 trackLatest on recovery event 2022-10-05 11:57:41 -07:00
Jon Fu 2fe1d19e95 Merge branch 'main' of github.com:apple/foundationdb into metacluster-status 2022-10-05 11:48:04 -07:00
Josh Slocum dc917453c1
Targeted blob granules fault injection (#8231) 2022-10-05 13:44:38 -05:00
Josh Slocum 8592f7e253
Added test check to verify change feeds get cleaned up at the end of blob granule tests (#8322)
* implemented check, but it doesn't always work

* cleanup
2022-10-05 12:58:05 -05:00
Markus Pilman 513fae85d2 Address review comments 2022-10-05 11:39:58 -06:00
Hui Liu 9799329b99
Merge pull request #8390 from sfc-gh-huliu/actor
Misc changes for blob manifest dumper
2022-10-05 10:30:56 -07:00
Markus Pilman 7d77c3a1b7
Merge pull request #8397 from sfc-gh-mpilman/bugfixes/open-for-ide
Fix OPEN_FOR_IDE
2022-10-05 11:20:15 -06:00
Markus Pilman 45a31884d5 Address review comments 2022-10-05 09:30:25 -06:00
Markus Pilman 0361cf74e5 fix RocksDB compilation errors 2022-10-05 09:21:15 -06:00
Markus Pilman 67076aae4c Fix compilation errors 2022-10-05 07:52:54 -06:00
Markus Pilman 1f568fe9e9 Fix compilation errors 2022-10-05 07:48:34 -06:00
Steve Atherton 9a934cf98b Sim-only bug fix where SQLite can take too long to shut down so its files remain open when the next virtual process starts. 2022-10-04 19:29:38 -07:00
Markus Pilman 23edfd0d59 Fix formatting 2022-10-04 18:33:30 -06:00
Markus Pilman 550488b020 Merge remote-tracking branch 'origin/main' into bugfixes/open-for-ide
# Conflicts:
#	bindings/c/CMakeLists.txt
#	fdbclient/include/fdbclient/GetEncryptCipherKeys.actor.h
#	fdbserver/BackupWorker.actor.cpp
#	fdbserver/BlobWorker.actor.cpp
#	fdbserver/CommitProxyServer.actor.cpp
#	fdbserver/KeyValueStoreMemory.actor.cpp
#	fdbserver/StorageCache.actor.cpp
#	fdbserver/include/fdbserver/GetEncryptCipherKeys.actor.h
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/PhysicalShardMove.actor.cpp
#	flow/CMakeLists.txt
2022-10-04 18:27:48 -06:00
Xiaoxi Wang 15666851fc
Merge pull request #8335 from sfc-gh-xwang/feature/main/txnProcessor_team
Move part of methods in DDTeamCollection to IDDTxnProcessor
2022-10-04 16:02:29 -07:00
Markus Pilman 97dfc6823f fixed build with OPEN_FOR_IDE 2022-10-04 17:01:02 -06:00
neethuhaneesha a565863189
RocksDB compaction knobs and stats. (#8392) 2022-10-04 15:13:50 -07:00
Yi Wu 5c549601d2
Split Redwood page by tenant boundary (#7979)
Redwood encrypt with page granularity. To do per-tenant encryption (i.e. each tenant are encrypted with different set of cipher keys), we need to split Redwood pages by tenant boundary. Moreover, it also needs to handle different tenant modes:
* tenantMode = disabled: do not split page by tenant, all data encrypt using default encryption domain.
* tenantMode = required: look at the prefix of the keys and split by tenant accordingly, and encrypt in tenant specific encryption domain accordingly.
* tenantMode = optional: some key ranges may not map to a tenant. In additional to looking at the key prefix, the key provider also query the tenant prefix index. For prefixes not found in the tenant prefix index, corresponding key should be encrypted using the default encryption domain.

The change also enforce data for each tenant forms a subtree, and key of the link to the subtree is exactly the tenant prefix.

This PR is building on top of #8172 and use the IPageEncryptionKeyProvider interface added there. Changes:
* In `writePages` and `splitPages`, query the key provider to split page accordingly.
* In `commitSubtree`, when doing in-place update (to both of leaf or internal page), check if the entry being insert belong to the same encryption domain as existing data of the page. If not, fallback to full page rebuild, where `writePages` will handle the page split.
* When updating the root, check if it is encrypted using non-default (i.e. tenant specific) domain. If so, add a redundant root node which will be encrypted with default encryption domain.

Tested with 100K run of `Lredwood/correctness/btree` unit test, where it uses `RandomEncryptionKeyProvider`, which is updated to support and generate random encryption domain with 4 byte domain prefixes.
2022-10-04 12:53:55 -07:00
Hui Liu 50b3a8d3ba misc changes for manifest dumper
1) move dumper to a dedicated actor
2) include blob manager epoch into the manifest name
3) keep multiple manifest files(up to 5)
2022-10-04 10:33:43 -07:00
A.J. Beamon 55b880432e
Merge pull request #8379 from sfc-gh-ajbeamon/literal-string-ref-removal
LiteralStringRef removal
2022-10-04 09:41:42 -07:00
Xiaoxi Wang 4cf4ccc089 correct getServerListAndProcessClasses implementation (100k pass) 2022-10-03 22:24:35 -07:00
A.J. Beamon b50276ff5a
Merge pull request #8358 from sfc-gh-ajbeamon/bindingtester-fixes
Fix some binding tester issues
2022-10-03 13:50:19 -07:00
A.J. Beamon ab570df350 One more case where we need to remove the null byte 2022-10-03 10:18:18 -07:00
Jingyu Zhou 9795347aa9
Merge pull request #8346 from sfc-gh-anoyes/anoyes/followup-to-8338
Guarantee that IS_ARM_MAC is set in flow/CMakeLists.txt
2022-10-03 09:34:45 -07:00
A.J. Beamon 53593c77ac When updating watches after a database switch, lookup the tenant again to get the ID on the new cluster. Update the switching test to set up tenants properly. 2022-10-03 09:24:13 -07:00
A.J. Beamon 0a1d03c3d7 Formatting fixes 2022-10-03 09:23:17 -07:00
Jingyu Zhou 843cb18d82
Merge pull request #8362 from sfc-gh-tclinkenbeard/split-failure-injection-workloads
Enable automated failure injection workloads in simulation
2022-10-03 09:20:42 -07:00
A.J. Beamon 43dab2baeb Creating string refs from literals needs to remove the terminating null byte 2022-10-03 09:20:15 -07:00
Xiaoxi Wang 76f2dc8ce0 merge upstream/main 2022-10-02 22:07:42 -07:00