Commit Graph

554 Commits

Author SHA1 Message Date
Yao Xiao 6811f42735
Add rocksdb version to status json. (#11868)
* Add rocksdb version to status json.

* update schema
2025-01-09 12:56:09 -08:00
Syed Paymaan Raza 1f8b72c066
Gray failure machine readable status (#11758) 2024-11-12 15:50:08 -08:00
Syed Paymaan Raza c146ee0869
[fdbserver] Use STL contains method and std::find for containment checks (#11702) 2024-10-15 11:40:02 -07:00
Jingyu Zhou 95adc14806 Fix a cluster controller crash in status server
The logSystemConfig could be changed after the yield(), thus the iterator can
points to invalid memory.

To reproduce with gcc build at commit 3e90644779:
   -f tests/slow/DDBalanceAndRemoveStatus.toml -s 3134372275 -b off
2024-08-13 20:55:26 -07:00
Syed Paymaan Raza c3e7542cda Update end year in copyright header 2024-08-02 09:40:11 -07:00
neethuhaneesha adf0e8fa18
Rocksdb metrics in status json (#11321) 2024-04-18 22:00:58 -07:00
Jingyu Zhou f3efc90e7f Fix a DR corruption bug
The clear in status call can cause corruptions.

To reproduce with clang build:
seed: -f ./tests/slow/ApiCorrectnessSwitchover.toml -s 223736449 -b on
commit: f8eca6a80
Apply the ./tests/slow/ApiCorrectnessSwitchover.toml file in this commit.
2024-03-08 18:01:51 -08:00
Dimitris Apostolou a88114c222
Fix typos 2024-02-07 01:16:00 +02:00
Sreenath Bodagala b0be152aad - Capture data center log and storage server version differences in
ClusterController and include them in status json.
2023-11-08 17:28:36 +00:00
Johannes M. Scheuermann 9591a8e382 Correct the check for a machine being excluded 2023-10-19 11:42:46 +02:00
Sreenath Bodagala fe2a8b10b2 - Address PR review comments (includes a special key related test) 2023-10-06 16:19:56 +00:00
Sreenath Bodagala 9cde595207 - Re-use the current mechanism for gathering status. 2023-10-02 19:38:26 +00:00
Sreenath Bodagala 3c01b1befe - Add a special key in order to fetch a specific group of status json fields. 2023-09-25 16:23:19 +00:00
Jingyu Zhou 12fe500633 ClusterController watches changes to storage metadata
To retrieve storage metadata for every status json request is very expensive
for clusters with a large number of storage servers. So I change the logic so
that ClusterController actively monitors changes to storage metadata, and only
retrieves them when there is a change.
2023-09-15 14:19:04 -07:00
Lukas Joswiak b3e58761d3 Avoid creating a DatabaseContext on every status json call
DatabaseContext currently leaks memory by creating `Counter`s with
unique IDs on construction. Each status json call creates a new
`DatabaseContext` object, causing a memory leak over time.
2023-09-01 19:55:17 -07:00
Ata E Husain Bohra 22ddb8a92d
Prevent Status actor from bubbling up timeout error (#10791)
Description

Patch addresses occurrences where Status.actor ends up bubbling timeout error
up to the ClusterController causing recovery to be triggered when
ClusterGetStatus timeout for some reason.

Testing
2023-08-18 15:21:52 -07:00
Evan Tschannen 3209dc7b30
Fixed multiple bugs related to locality based exclusions (#10623)
* fix: Non-storage processes were not being checked for locality exclusions
fix: Data distribution when not detect a newly added process was locality excluded
fix: RemoveServerSafely did not wait for processes to be excluded before killing them when excluding localities

* fix: do not allow locality based excludes if they cannot exclude the required addresses
2023-08-11 15:17:02 -07:00
Yi Wu 333a08269a address comments 2023-07-17 20:06:02 -07:00
Yi Wu e095309d51 add kms stable state to status json 2023-07-17 20:06:02 -07:00
Hui Liu aed406e947
Show manifest dump info in status json even when no flushing (#10584) 2023-06-30 13:04:43 -07:00
Xiaoge Su de7db7ba14 fixup! reformat source 2023-06-20 18:07:05 -07:00
Xiaoge Su 63dde188dd Report missing attribute in StorageServer status 2023-06-20 18:07:05 -07:00
Hui Liu af20493ad0
Move lastFlushTs to BlobGranuleBackupConfig (#10505) 2023-06-16 16:12:10 -07:00
Hui Liu 126a827359
Add blob manifest url and mlogs url in status json. (#10454) 2023-06-09 09:20:39 -07:00
Nim Wijetunga 95bf14323f
EKP and KMS Health Check (#10341)
EKP and KMS Health Check
2023-06-01 16:24:04 -07:00
Hui Liu 7ca13d8f9c
support blob restore in fdbrestore (#10248) 2023-05-19 14:45:14 -07:00
Josh Slocum 2916a11a86
New ConsistencyScan (#10265)
* Remove duplicate getRange() for DB handles and update existing GetRange to accept DB handles.

* Initial progress checkpoint on new ConsistencyScan role.

* Updated TODOs, finished most if not all state updates.

* placeholder

* Add more TODOs, documentation and comment improvements.

* Checkpoint round state to avoid advancing progress if commit fails.

* Bug fix, check is supposed to be for overlap, not lack of overlap.

* Added more TODO's and added faked read results / exceptions and faked DB size retrieval to prove the consistencyScanCore logic works.

* Update JSON schemas and command help.

* Add comment about lifetime stats reset.

* More TODO comments and some renames for clarity, some bug fixes.

* properly stopping consistency scan in simulation so that it doesn't run forever and cause quiet database to fail

* removing trailing comma from consistency_scan json schema

* Making CC inconsistency not an error if it's intentional tss corruption

* consistency scan actually reads storage locations

* added check that consistency scan actually completes a round in simulation, fixed bug and added debugging around consistency scan getting stuck

* made consistency scan properly fetch database size

* refactoring data check to be used in both consistency scan and consistency check

* checking that consistency scan always completes at least one round and doesn't get stuck

* cleanup

* fixing ide build

* consistencyscan fdbcli command wasn't actually changing db state

* consistencyscan fdbcli command always said enabled even when it wasn't

---------

Co-authored-by: Steve Atherton <steve.atherton@snowflake.com>
2023-05-18 15:02:41 -05:00
A.J. Beamon d8141c049d Add code probes for tenant code 2023-05-10 20:44:39 -07:00
Zhe Wu a2fb300ee2 Yeidl in processStatusFetcher when getting log and log router processes in earlier generations 2023-05-09 14:47:48 -07:00
Zhe Wu 108e9dccf4 Status json add roles for old generation tlogs 2023-05-09 10:26:56 -07:00
Hui Liu 53e68065e7
Support blob manifest backup for fdbbackup cmdline (#10091) 2023-05-08 16:07:22 -07:00
Xiaoxi Wang 3605d8c74c populate storage metadata for tss 2023-05-01 18:08:08 -07:00
A.J. Beamon 85f5e206a7
Merge pull request #10047 from sfc-gh-ajbeamon/add-metacluster-version
Add a metacluster version to the MetaclusterRegistrationEntry and validate it when loading the entry
2023-05-01 12:32:37 -07:00
A.J. Beamon b258159d3a Change enum capitalization. Improve error reporting if we cannot read metacluster registration when fetching metacluster metrics. Improve timeliness of metacluster metrics updates. 2023-05-01 11:21:42 -07:00
Hui Liu bd8c15634e
Create blob connection per tenant for blob restore (#10070) 2023-05-01 10:26:55 -07:00
A.J. Beamon f1cbc86b94 Add a metacluster version to the MetaclusterRegistrationEntry and validate it when loading the entry from the cluster. 2023-04-27 10:04:57 -07:00
Steve Atherton 7f6d5f296a Merge commit 'e318fc260070ba6ba604930b8f259c9b655938ea' into keybackedrangemap
# Conflicts:
#	flow/include/flow/error_definitions.h
2023-04-25 14:21:23 -07:00
Hui Liu 08fffd3bc2
Empty check before calling openContainer on it (#10044) 2023-04-24 17:38:56 -07:00
Steve Atherton 53ee26d758 Changed KeyBackedTypes to an actor file. Added TypedKeySelectors for Map and Set classes and getRange() keySelector methods. Added debug macro for KeyBackedTypes. Rewrote KeyBackedRangeMap using keyselectors on KeyBackedMap. 2023-04-18 22:21:19 -07:00
Nim Wijetunga c780d706d1
Remove EKP Interface from ServerDBInfo (#9909)
Remove ekp interface from ServerDBInfo
2023-04-06 11:35:47 -07:00
A.J. Beamon 9c786e6d1e
Merge pull request #9854 from sfc-gh-ajbeamon/metacluster-separate-project
Metacluster refactoring
2023-04-04 09:43:41 -07:00
Hui Liu f2a406f609
Add blob manifest and mutation log status to "status json" (#9856) 2023-04-03 18:30:13 -07:00
A.J. Beamon 807646675c Refactor the metacluster project into smaller files, and reorganize the namespaces. Move some metacluster and tenant testing helpers into the metacluster project. 2023-03-30 16:20:09 -07:00
A.J. Beamon e61748c7d5 Move metacluster into its own directory and static library 2023-03-30 16:07:49 -07:00
Xiaoxi Wang e48fd10d8d add perpetual wiggle to .team_tracker field 2023-03-20 09:46:36 -07:00
Steve Atherton 216d0be2cf
Add processID, networkAddress, and locality to layer status JSON for Backup Agents. (#9736)
* Add processID, networkAddress, and locality to layer status JSON for Backup Agents.

* Backup/dr agent determines network address to report in Layer Status only once, when the status updater loop begins, since it is a blocking call which connects to the cluster.  And lots of code cleanup.
2023-03-17 18:07:03 -07:00
Hui Liu c43f8b3fdc
Refactor - introduce BlobRestoreController for APIs to manage restore state (#9616) 2023-03-08 07:50:30 -08:00
Hui Liu b2d497a3b2 Report restore phase start timestamp 2023-03-03 18:09:51 -08:00
Yi Wu eac757d186
EaR: cleanup encryption knobs (#9386)
Changes:
* Cleanup all encryption knobs 
* Update simulated cluster to randomly enable encryption with higher probability
2023-02-18 13:18:20 -08:00
Hui Liu b475121840
Merge pull request #9267 from sfc-gh-huliu/fixerror
Fix misc blob restore error messages
2023-01-30 15:29:42 -08:00