Commit Graph

6422 Commits

Author SHA1 Message Date
A.J. Beamon adb8d3ec7a Fix a memory issue when getting key range locations that manifests in particular when getting range split points 2023-01-23 11:01:37 -08:00
A.J. Beamon b10d1f227b Remove tenant name from the TenantInfo object 2023-01-20 14:04:43 -08:00
A.J. Beamon d47a2ab60f
Merge pull request #9128 from sfc-gh-ajbeamon/transactions-use-tenant-object
Transactions take a tenant object rather than a tenant name
2023-01-20 12:06:36 -08:00
A.J. Beamon 4b10080132 Make sure we are properly setting the tenant name during tenant creation; simplify deletion process in bulk load with tenants 2023-01-20 10:28:49 -08:00
He Liu ec6716ff2e
Restore kv (#9030)
* Allow multiple keyranges in CheckpointRequest.
Include DataMove ID in CheckpointMetaData.

* Use UID dataMoveId instead of Optional<UID>.

* Implemented ShardedRocks::checkpoint().

* Implementing createCheckpoint().

* Attempted to change getCheckpointMetaData*() for a single keyrange.

* Added getCheckpointMetaDataForRange.

* Minor fixes for NativeAPI.actor.cpp.

* Replace UID CheckpointMetaData::ssId with std::vector<UID>
CheckpointMetaData::src;

* Implemented getCheckpointMetaData() and completed checkpoint creation
and fetch in test.

* Refactoring CheckpointRequest and CheckpointMetaData

rename `dataMoveId` as `actionId` and make it Optional.

* Fixed ctor of CheckpointMetaData.

* Implemented ShardedRocksDB::restore().

* Tested checkpoint restore, and added range check for restore, so that
the target ranges can be a subset of the checkpoint ranges.

* Added test to partially restore a checkpoint.

* Refactor: added checkpointRestore().

* Sort ranges for comparison.

* Cleanups.

* Check restore ranges are empty; Add ranges in main thread.

* Resolved comments.

* Fixed GetCheckpointMetaData range check issue.

* Refactor CheckpointReader for CF checkpoint.

* Added CheckpointAsKeyValues as a parameter for newCheckpointReader.

* PhysicalShard::restoreKvs().

* Added `ranges` in fetchCheckpoint.

* Added RocksDBCheckpointKeyValues::ranges.

* Added ICheckpointIterator and implemented for RocksDBCheckpointReader.

* Refactored OpenAction for CheckpointReader, handled failure cases.

* Use RocksDBCheckpointIterator::end() in readRange.

* Set CheckpointReader timout and other Rocks read options.

* Implementing fetchCheckpointRange().

* Added more CheckpointReader tests.

* Cleanup.

* More cleanup.

* Added fetchCheckpointRanges test.

* Implemented restore of kv-based checkpoint.

* Improved CheckpointRestore test for kv, non-kv, as well as partial
restore.

* Added test of merge.

* Fixed merge test.

* Cleanup.

* Resolved comments.

Co-authored-by: He Liu <heliu@apple.com>
2023-01-20 09:58:34 -08:00
A.J. Beamon 258198ca20 Merge branch 'main' into transactions-use-tenant-object
# Conflicts:
#	fdbclient/include/fdbclient/DatabaseContext.h
#	fdbserver/workloads/BulkLoadWithTenants.actor.cpp
2023-01-20 09:06:39 -08:00
Jingyu Zhou 21befd59ef
Merge pull request #9184 from sfc-gh-dadkins/sfc-gh-dadkins/bug/backup-lock-bytes
Increase buggified lock bytes for backup workers to at least 256 MB.
2023-01-19 20:06:50 -08:00
Hui Liu 36e8e5a3bb
Merge pull request #9176 from sfc-gh-huliu/restoreversion
Restore to a previous version
2023-01-19 17:37:23 -08:00
Dan Adkins 5dcece90e1 Increase buggified lock bytes for backup workers to at least 256 MB.
We are still encountered simulation failures where the backup worker
is waiting on the lock and an assertion fails.
2023-01-19 17:36:06 -08:00
Hui Liu c85b984c3a blobrestore to previous point of time 2023-01-19 14:45:01 -08:00
Nim Wijetunga 82c92abca2
Change Noisy Sev30s to Sev20s (#9180)
change noisy sev30 traces to sev20
2023-01-19 14:06:34 -08:00
neethuhaneesha ca4a964df1
Adding rocksDB control compaction on deletion knobs. (#9144) 2023-01-18 15:40:34 -08:00
Nim Wijetunga 330ac71630
Tenant Deletion Support for Backup Mutation Log (#9103)
tenant deletion support for backup mutation log
2023-01-18 15:11:58 -08:00
sfc-gh-tclinkenbeard ca9464ae23 Remove rare code probe annotation for forcing restore at larger version 2023-01-18 11:39:02 -08:00
Hui Liu c12ea39599
Merge pull request #9133 from sfc-gh-huliu/test4
Add correctness test case for blob restore with large workload
2023-01-18 11:20:03 -08:00
Andrew Noyes 1c673326e9
Change PTreeImpl::insert to overwrite existing entries (#9138)
* Change PTreeImpl::insert to overwrite existing entries

Maintaining partial persistence of course.

We can theoretically also avoid creating a new node if the insert version of the node comparing equal to `x` is the latestVersion. There isn't a generic way to tell from the ptree though since insertAt is a concept that only exists within VersionedMap. Either way, avoiding the `contains` call and the tree rotations is already a big improvement.

The old node should only be reachable from old roots, and so it should get cleaned up as part of forgetVersions in the storage server.

* Update fdbclient/include/fdbclient/VersionedMap.h
2023-01-18 09:40:32 -08:00
Hui Liu 8d8cba5745 Add correct test for blob restore with large workload 2023-01-18 09:27:48 -08:00
Junhyun Shim e3c3922cc5
Merge pull request #9114 from sfc-gh-vgasiunas/vgasiunas-client-status-report
API for Client Status Report
2023-01-17 11:49:34 +00:00
Ata E Husain Bohra 3f2404cc25
[EaR]: Update KMS request/response to embedd version details (#9135)
* [EaR]: Update KMS request/response to embeded version details

Description

 diff-1 : Address review comments

Patch embedd 'version_tag' detail to KMS JSON request/response
payload, this features enables future expansion as well as enables
the path to support multiple versions simulatanesouly if needed

Testing

RESTKmsConnectorUnit.toml updated as per new code
devRunCorrectness - 100K
2023-01-16 12:18:25 -08:00
Vaidas Gasiunas 4a178fe658 get_client_status: fix formatting in comments 2023-01-16 17:36:32 +01:00
Vaidas Gasiunas 46178f4c74 get_client_report: commenting DatabaseState::getClientStatus 2023-01-16 16:50:17 +01:00
Vaidas Gasiunas d064487550 client_status_report: Change variable names 2023-01-16 15:17:37 +01:00
Vaidas Gasiunas 2ebcc49465 get_client_status: a comment giving a more precise description 2023-01-16 15:09:11 +01:00
Vaidas Gasiunas 5b02755396 get_client_status: document the schema of the returned json 2023-01-16 15:07:43 +01:00
Vaidas Gasiunas e152fb28af client_status_report: report cluster id from the DatabaseContext only 2023-01-16 14:57:46 +01:00
Vaidas Gasiunas d43b4e5777 get_client_status: remove redundant call to getRecentClosedPeers 2023-01-16 14:01:01 +01:00
He Liu 00203c8732
Validate Storage part II (#8471)
* Implemented AuditUtils.actor.cpp

Moved AuditUtils to fdbserver/

* Persist AuditStorageState.

* Passed persisted AuditStorageState test.

* Added audit_storage_error to indicate a corruption is caught.

Throw/Send audit_storage_error when there is a data corruption.

Added doAuditStorage() for resuming Audit.

* Load and resume AuditStorage when DD restarts.

* Generate audit id monotonically.

* Fixed minor issue AuditId/Type was not set.

* Adding getLatestAuditStates.

* Improved persisted errors and added AuditStorageCommand.actor.cpp for
fdbcli.

* Added `audit_storage` fdbcli command.

* fmt.

* Fixed null shared_ptr issue.

* Improve audit data.

* Change DDAuditFailed to SevWarn.

* Sev.

* set SERVE_AUDIT_STORAGE_PARALLELISM to 1.

* Moved AuditUtils* to fdbclient/.

* Added getAuditStatus fdbcli command.

* Refactor audit storage fdb cli commands.

* Added auditStorage in sim.

* Cleanup.

* Resolved comments.

* Resolved comments.

* Test disabling audit for sims.

* Cleanup.

Co-authored-by: He Liu <heliu@apple.com>
2023-01-15 21:46:14 -08:00
A.J. Beamon e1d48d28bf Remove tenant name from the TenantInfo object 2023-01-13 08:58:15 -08:00
Josh Slocum 0fc5c6c1e2
tenant entry was removed, changed to fixme (#9132) 2023-01-12 18:39:22 -06:00
Josh Slocum b6450f9eaa
More ss cf perf fixes main (#9109)
* changing future version logic for change feed fetch

* Optimizing change feed data structures and accesses

* coalescing change feed request ranges for merge cursor if they're to the same team

* fixing over-read of memory mutations for change feeds

* feed filter mutations common prefix cpu optimiation

* fix formatting
2023-01-12 16:15:05 -06:00
Xiaoxi Wang 07b37245dd merge upstream/main; solve merge conflicts 2023-01-12 12:29:03 -08:00
A.J. Beamon 811593e093 Merge branch 'main' into add-tenant-lookup-interface 2023-01-12 09:56:17 -08:00
Vaidas Gasiunas 962cd6efcd get_client_status: determine the health status 2023-01-12 18:46:04 +01:00
A.J. Beamon 281083822b Trigger a commit if none happens within some amount of time when a tenant lookup is performed 2023-01-12 09:11:30 -08:00
Vaidas Gasiunas 205466e04c get_client_report: report storage servers 2023-01-12 15:15:07 +01:00
Zhe Wu 37e026366c
Merge pull request #9119 from halfprice/zhewu/add-txn-server-initialization-event-1
Add event for txn server initialization and a warning for TLog slow catching up
2023-01-11 22:00:53 -08:00
Xiaoxi Wang 9efba1f5e6 clearify the return type 2023-01-11 15:58:16 -08:00
Zhe Wu 087d37d10b Add event for txn server initialization and a warning for TLog slow catching up 2023-01-11 10:02:06 -08:00
Xiaoxi Wang 6592ecc3a5 merge upstream/main; confliction solve 2023-01-11 09:33:21 -08:00
Vaidas Gasiunas 8d734fba85 get_client_status: report database connection status 2023-01-11 17:43:35 +01:00
Xiaoxi Wang 229565c791 check SetVersionstampedKey offset 2023-01-10 23:58:51 -08:00
Vaidas Gasiunas 265c8f7f78 get_client_status: Fix compiler warning 2023-01-10 14:31:04 +01:00
Ata E Husain Bohra f673fce975
[EaR]: Update KMS APIs to split encryption keys endpoints (#9017)
* [EaR]: Update KMS APIs to split encryption keys endpoints

Description
  diff-1: Address review comments

Major changes proposed:
1. Extend fdbserver to allow parsing two endpoints for encryption at-rest
support: getEncrypitonKeys, getLatestEncryptionKeys
2. Update RESTKmsConnector to do the following:
 2.1. Split the getLatest and getCipher requests.
 2.2. "domain_id" for point lookup marked as 'optional'

Testing

devRunCorrectness - 100K
2023-01-09 10:55:53 -08:00
Vaidas Gasiunas 6162fc333c get_client_status: Provide more MVC database status info, test client versions 2023-01-09 19:36:39 +01:00
Vaidas Gasiunas f14f2ccc0d Introducing API function get_client_status; Exposing and testing database initialization state 2023-01-09 16:09:58 +01:00
Xiaoxi Wang 07bd4c311b solve merge conflict 2023-01-06 16:39:40 -08:00
A.J. Beamon f999623bb1 Add a tenant lookup interface and use it when starting transactions 2023-01-06 15:51:12 -08:00
A.J. Beamon a5f882c0ac Merge branch 'main' into expand-optional-erroror-map 2023-01-06 14:29:50 -08:00
Nim Wijetunga 10ccaa1ee5
remove client info encryption state (#9096) 2023-01-06 17:14:06 -05:00
Ankita Kejriwal 72121204d6
Merge pull request #9057 from sfc-gh-anoyes/anoyes/idempotency-docs
Add initial documentation for automatic idempotency
2023-01-06 13:43:09 -08:00