Yi Wu
3287098b4a
EaR: Handle KMS timeout in storage server and commit proxy
2023-08-28 16:17:43 -07:00
Zhe Wang
f8311ae069
Add more trace event for TSS recruitment ( #10809 )
...
* add more trace event for tss
* update StorageServerInitProgress
* add more traces
2023-08-23 09:19:30 -07:00
Zhe Wang
83dc9ff6f7
Trace SS init progress ( #10799 )
...
* trace ss init progress
* improve trace events
2023-08-18 18:44:37 -07:00
Zhe Wu
2078a0055a
Add documentation
2023-07-26 14:16:16 -07:00
Zhe Wu
f9c3ac3704
Remove debugging logging
2023-07-26 12:35:19 -07:00
Zhe Wu
e583deddfe
Apply format
2023-07-26 11:21:20 -07:00
Zhe Wu
00cdf09966
Cluster controller monitors recovery stats and trigger recovery if current recovery contains degraded servers
2023-07-17 11:14:22 -07:00
Zhe Wu
9670ed1cd8
Make TLog explicitely monitor connectivity issue during [start version, recover version] recovery
2023-07-17 11:12:28 -07:00
Zhe Wu
458d210584
Add an option in worker to force detect connectivity issue to other transaction workers in primary region
2023-07-17 11:12:28 -07:00
Yi Wu
92fc089eb0
FDBCORE-5211: Fix worker server handleIOErrors heap-use-after-free ( #380 ) ( #10555 )
2023-06-26 16:35:33 -07:00
Zhe Wu
36befca2ba
Nit fixing
2023-06-21 09:25:51 -07:00
Zhe Wu
f3e95f6698
Merge pull request #10521 from halfprice/zhewu/gray-failure-recovery
...
Worker health monitor tracks recovered peers
2023-06-21 07:56:55 -07:00
Zhe Wu
31de83ccc1
cleanup gray failure recovery documentation
2023-06-20 13:30:03 -07:00
Zhe Wu
4741d7032f
Revert logic to test testing logic
2023-06-20 12:40:22 -07:00
Zhe Wu
ef638cd6a6
Worker health monitor keeps track of recovered peer
2023-06-20 12:32:29 -07:00
Evan Tschannen
ef682d304e
fix IKeyValueStore include
2023-06-16 13:28:40 -07:00
Evan Tschannen
eb772c0043
added a blob worker specific page cache size for redwood so that it does not have to be changed manually in fdb.conf for all blob worker processes
2023-06-13 10:35:13 -07:00
Evan Tschannen
359e178dcd
Merge branch 'main' into feature-durable-change-feed
...
# Conflicts:
# fdbclient/ClientKnobs.cpp
# fdbserver/BlobManager.actor.cpp
# fdbserver/worker.actor.cpp
2023-06-11 13:58:35 -07:00
Evan Tschannen
2a8e5e487d
fix: properly dispose of unneeded blob worker disk stores
2023-06-10 22:09:30 -07:00
Evan Tschannen
b15738ad8f
do not start a blob worker from disk is the feature is disabled
2023-06-09 14:08:02 -07:00
Evan Tschannen
197c39b552
cache change feeds using a storage engine to avoid reading them for the server on startup
2023-06-07 08:41:31 -07:00
Dan Adkins
833bcb9342
Let coordination server crash on file_not_found error.
...
The only case when a coordination server should fail with file_not_found
is when the DiskQueue only finds 1 out of its 2 queue files. This either
means data has been lost, or the initial creation of the two files failed
partway through. In either case, it's sensible to crash the process and
refuse to start.
The existing code was catching the file_not_found error and letting the
FDBD process continue after the coordination server failed. This resulted
in clients attempting to contact the coordination server on a well-known
endpoint and never getting a response, because Flow transport silently
dropped the request when there was no receiver for it. By terminating the
process instead, we effectively notify waiting clients that they won't
get a response from this coordinator.
2023-06-06 11:36:25 -07:00
Yao Xiao
cefb6c7ec3
Clear metadata before destroyDB. ( #10393 )
2023-06-02 11:20:14 -07:00
Nim Wijetunga
95bf14323f
EKP and KMS Health Check ( #10341 )
...
EKP and KMS Health Check
2023-06-01 16:24:04 -07:00
Zhe Wu
2e00e0abed
Refactor healthMonitor in worker.actor.cpp
2023-05-23 14:14:33 -07:00
Evan Tschannen
3dd86d6c22
move IKeyValueStore.h to the client
2023-05-10 15:41:47 -07:00
Yao Xiao
abd45c4486
Cherrypick #9665
2023-05-10 10:23:01 -07:00
Chaoguang Lin
e318fc2600
Fix for correctness failures when issuing duplicate snapshot requests ( #10041 )
...
* Fix for correctness failures when issuing duplicate requests
Add comments; Disable failure injection in Snap test
* Format files
2023-04-25 13:48:50 -07:00
Zhe Wu
10a6f3d2d0
Merge pull request #9890 from halfprice/zhewu/log-router-gray-failure
...
Gray failure detects disconnected remote log router and recover high DC lag
2023-04-07 16:25:11 -07:00
Hui Liu
396f89a3f4
Cleanup stale disk files for double recruitment of storage server ( #9794 )
2023-04-06 12:13:59 -07:00
Zhe Wu
310dadd877
Update log router check and add some documents
2023-04-06 11:36:49 -07:00
Nim Wijetunga
c780d706d1
Remove EKP Interface from ServerDBInfo ( #9909 )
...
Remove ekp interface from ServerDBInfo
2023-04-06 11:35:47 -07:00
Nim Wijetunga
6e4e6ab2f4
Revert "Revert "Refactor GetEncryptCipherKeys ( #9600 )"" ( #9903 )
...
* Revert "Revert "Refactor GetEncryptCipherKeys (#9600 )" (#9708 )"
2023-04-05 10:03:48 -07:00
Zhe Wu
3e3b6198de
Gray failure detection account for disconnected remote log routers
2023-04-03 21:53:42 -07:00
Nim Wijetunga
2867443f95
Recurit EKP without Enabling Encryption ( #9885 )
...
Recruit EKP without needing to enable encryption
2023-04-03 20:05:21 -07:00
Ata E Husain Bohra
3f6fcada45
EaR - Misc fixes found using end-to-end integration testing ( #9806 )
...
* EaR - Misc fixes found using end-to-end integration testing
Description
Major changes proposed includes:
1. RESTClient filtering of trailing `/`(s) characters from
input URI resource path
2. Avoid EKP exponential backup given RESTClient supports
exponential backoffs retries for all retryable errors.
3. Memory allocation optimizations:
3.1. BaseCipher key management using Standalone semantics
in KMSConnector interface endpoints
3.2. Optimize memcpy while looking encryption-keys in EKP endpoints
4. Avoid delay while starting EKP, given its criticality during
cluster recovery.
5. Update BlobCipher to handle variable size BaseCipher buffer
6. Improved logging
Testing
Setup:
1. External KMS server to supply encryption keys (inhouse)
2. Create cluster with: cluster_aware & domain_aware config
* Fix EncryptionOps test
Description
Testing
* EaR - Misc fixes found using end-to-end integration testing
Description
Major changes:
1. Cleanup EKP driven exponential backup files.
2. Update EKP not to use #1 .
Testing
* EaR - Misc fixes found using end-to-end integration testing
Description
Address review comments
Testing
* Fix AES 256 key length value
Description
Testing
* Address review comments
Description
Testing
2023-03-30 22:22:26 -07:00
Ata E Husain Bohra
dbcab0b1bd
Revert "Refactor GetEncryptCipherKeys ( #9600 )" ( #9708 )
...
This reverts commit 2702665e35 .
2023-03-15 12:10:08 -07:00
Nim Wijetunga
2702665e35
Refactor GetEncryptCipherKeys ( #9600 )
...
* inital commit
* address pr comments
2023-03-08 17:05:03 -08:00
Josh Slocum
d80967e4ca
fixing leaked BW future that can cause worker to hang on shutdown if BW has an IKVS
2023-03-03 13:57:57 -06:00
Evan Tschannen
a581a55452
ensure a worker cannot run multiple blob worker roles
2023-02-23 09:51:26 -08:00
Evan Tschannen
a646d15326
use Redwood as the storage engine for the blob worker cache
2023-02-13 15:28:41 -08:00
Evan Tschannen
20bc868ee0
merge in main
2023-02-13 12:41:31 -08:00
Evan Tschannen
bad8b2fad4
blob workers reboot with a different ID and register in the database their previous ID
2023-02-12 10:44:53 -08:00
Evan Tschannen
18bc099ca6
added a disk to blob workers, and allowed blob workers to rejoin the blob manager after a reboot
2023-02-10 10:29:01 -08:00
Junhyun Shim
be225acd2a
Merge remote-tracking branch 'origin/main' into authz-tenant-name-to-tenant-id
2023-02-06 23:13:43 +01:00
Yi Wu
d3bc2afc8e
EaR: storage server uses encryption DB config ( #9115 )
...
The PR is updating storage server and Redwood to enable encryption based on the encryption mode in DB config, which was previously controlled by a knob. High level changes are
1. Passing encryption mode in DB config to storage server
1.1 If it is a new storage server, pass the encryption mode through `InitializeStorageRequest`. the encryption mode is pass to Redwood for initialization
1.2 If it is an existing storage server, on restart the storage server will send `GetStorageServerRejoinInfoRequest` to commit proxy, and commit proxy will return the current encryption mode, which it get from DB config on its own initialization. Storage server will compare the DB config encryption mode to the local storage encryption mode, and fail if they don't match
2. Adding a new `encryptionMode()` method to `IKeyValueStore`, which return a future of local encryption mode of the KV store instance. A KV store supporting encryption would need to persist its own encryption mode, and return the mode via the API.
3. Redwood accepts encryption mode from its constructor. For a new Redwood instance, caller has to specific the encryption mode, which will be stored in Redwood per-instance file header. For existing instance, caller is supposed to not passing the encryption mode, and let Redwood find it out from its own header.
4. Refactoring in Redwood to accommodate the above changes.
2023-02-06 14:02:31 -08:00
Junhyun Shim
0d1801ed88
Expose private endpoints used in MVC mode and make MVT token sticky
2023-02-06 17:23:26 +01:00
Xiaoxi Wang
d1d860a342
merge upstream/main
2023-01-27 12:15:04 -08:00
Xiaoxi Wang
6ce2f5159e
update CP dbinfo conditionally to prevent temporary tenant mode change
2023-01-27 11:55:28 -08:00
Xiaoge Su
eb4e147ebf
Reformat source
2023-01-24 15:06:27 -08:00