Commit Graph

38 Commits

Author SHA1 Message Date
Zhe Wang f60e95c50b
[Release-7.4] Cherry-pick Avoid Source Storage Server Being Overloaded by Data Movements with Replica Consistency Check (#12176)
* Avoid Source Storage Server Being Overloaded by Data Movements with Replica Consistency Check (#12164)

* add ss metrics for fetch key

* bug fix

* revert checkTimeSpanSec

* fix adjustRelocationParallelismForSrc

* code cleanup

* fix replicaComparison

* remove unnecessary counters

* fix large storage server data structure

* address comments

* address comments

* address comments

* code cleanup

* bug fix

* fix bug

* remove taskID in get range requests
2025-06-02 12:34:34 -07:00
Zhe Wang a9cc2dd7dc
Cherrypick recent bulkload changes (#12135)
* Add multipart retry delay configuration. (#12076)

Add documentation to .h file.

Co-authored-by: stack <stack@duboce.com>

* Add a quickstart section on the bulkdump/bulkload feature to the user doc. (#12090)

* Fix assertion failure in fdbcli (#12095)

* Add Option to Turn Off Failure Injection to BulkLoad Process (#12096)

* add option to turn off failure injection to bulkload process in simulation

* nit

* DD BulkLoadTask Load Balance (#12103)

* bulkload load balance

* improve bulkload task submission efficiency

* address comments

* address comments

* cleanup

* Take a --proxy argument as backup_agent does. (#12110)

* Add "--proxy" to fdbserver (#12109)

* add --proxy to fdbserver

* fmt

* address comments

* use g_network to store proxy for s3client_ci

* Add 'ls' to s3client for the case where 'aws s3' is not installable (#12118)

* Add 'ls' to s3client for the case where 'aws s3' is not installable
-- i.e. production -- and we want a tool to test s3 connectivity.

Use it like this:

~/build_output/bin/s3client \
  --tls-ca-file /etc/ssl/cert.pem \
  --blob-credentials /path/to/credentials.json \
  ls "blobstore://backup-us-west-2.s3.amazonaws.com/x?bucket=backup-us-west-2&region=us-west-2"

* fdbclient/S3BlobStore.actor.cpp
* fdbclient/include/fdbclient/S3BlobStore.h
 Make constructResourcePath method on endpoint so accessible making ls
 URLs. Handling for encoded ampersands too. Allow 404 when requesting
 resource that doesn't exist.

* fdbclient/S3Client.actor.cpp
* fdbclient/S3Client_cli.actor.cpp
 Add in ls implementation.

* fdbclient/tests/s3client_test.sh
 Add test for new ls facility.

* See if this fixes compile issue

---------

Co-authored-by: michael stack <stack@duboce.com>

* Ingest sst files rather than their keyvalue content (2nd attempt) (#12108)

* Ingest sst files rather than their keyvalue content.

* fdbclient/ServerKnobs.cpp
* fdbclient/include/fdbclient/ServerKnobs.h
 Add BULK_LOAD_USE_SST_INGEST knob.

* fdbclient/include/fdbclient/IKeyValueStore.actor.h
 Add ingestSSTFiles and supportSStIngestion.

* fdbserver/KeyValueStoreRocksDB.actor.cpp
* fdbserver/KeyValueStoreShardedRocksDB.actor.cpp
 Implement ingestSSTFiles and supportSStIngestion

* fdbserver/storageserver.actor.cpp
 If BULK_LOAD_USE_SST_INGEST and BulkLoadType::SST, ingest sst file
 rather than read keyvalues.

* fdbclient/tests/fdb_cluster_fixture.sh
 Use rocksdb instead of sqllite in tests.

* Revert "Ingest sst files rather than their keyvalue content."

This reverts commit 6d50bf15d3566de17fa6febf2afba0f220846ca6.

* ctests pass

* Restore ingest minus metric

* Add back ingestDuration metric

* Formatting

---------

Co-authored-by: michael stack <stack@duboce.com>

* Allow resource to be empty (#12129)

* RocksDB Do Compact After BulkLoad (#12130)

* rocksdb bulkload compact after load

* address comments

* address comments

* job overwrite task root path (#12138)

* BulkLoad Load Balance Based on DataMove Busy Map  (#12137)

* bulkload load balance in ddqueue

* cleanup

* address comments

* nit

* bug fix

* nit

* address comments

* avoid scheduler busy loop

* address comments

* address comments

* avoid busy loop (#12157)

* First set of fixes... sizes and implement deleteResource (#12156)

Co-authored-by: michael stack <stack@duboce.com>

---------

Co-authored-by: Michael Stack <saintstack@users.noreply.github.com>
Co-authored-by: stack <stack@duboce.com>
2025-05-19 14:42:22 -07:00
Syed Paymaan Raza c3e7542cda Update end year in copyright header 2024-08-02 09:40:11 -07:00
Zhe Wang b699a7e4f7
Write-Traffic-Aware Load Balancer (#11189)
* write traffic aware load balancer

* address comments

* address comments
2024-02-11 15:05:41 -08:00
Dimitris Apostolou a88114c222
Fix typos 2024-02-07 01:16:00 +02:00
Zhe Wang 970175a8a2
cherrypick storage queue aware getteam (#11154) 2024-01-30 15:15:18 -08:00
Dan Lambright 015167c17e
Throttle commits against hot shards (#10970)
* throttle hot shards

* expire throttled shards over time

* add backoff

* Parallelize messaging from RK to CP

* Obtain shards from a single SS

* handle expired transactions

* bump transaction_throttled_hot_shard

* Change SevError to SevWarn for CannotMonitorHotShardForSS

* Add log per request
2023-10-31 12:01:34 -04:00
Zhe Wang adaf03b6f9
Check write traffic when bypass shard split (#10974)
* check write traffic when exiting shard split

* address comments
2023-10-20 15:00:14 -04:00
Xiaoxi Wang 92f83c7756 Fix notifyBytes bug: infinite vector item creation. (version 2) 2023-06-07 22:01:33 -07:00
Xiaoxi Wang e3c9a1a7f5 Disable same address detection in mock DD and implement MockStorageServer::getStorageMetrics 2023-06-07 22:01:33 -07:00
Xiaoxi Wang 96a110a9e6 Fix opsReadSample poll and getMetrics; 2023-05-23 09:46:34 -07:00
Xiaoxi Wang 969196d8ba Add read ops shard metrics notify bound 2023-05-23 09:46:34 -07:00
Xiaoxi Wang 2db188d755 make CommonStorageCounter also log StorageServerMetrics 2023-04-26 14:23:09 -07:00
Xiaoxi Wang ee4798572c change allServers use Reference<MockStorageServer>; create CommonStorageCounters 2023-04-26 14:23:09 -07:00
Xiaoxi Wang 50e1f629fe EligibilityCounter use int type; resolve review comments; 2023-04-17 12:24:17 -07:00
Xiaoxi Wang 2edc687bb8 correct comments about readLoadKSecond() 2023-04-17 12:24:14 -07:00
Xiaoxi Wang b0fe14aed5 getTeam based on EligiblityCount 2023-04-12 09:33:05 -07:00
Xiaoxi Wang 1181b1dfab use max(ops*empty_penalty, readbytes) as new read load (solve conflicts) 2023-04-12 09:33:05 -07:00
Xiaoxi Wang 41d01629f1 change IndexSet::addMetrics return type to pair<metrics, iterator> to reduce another find call 2023-03-06 22:23:55 -08:00
Xiaoxi Wang 303791a060 change parameter type from KeyRef to Key to avoid extra copy in sampler 2023-03-03 15:37:45 -08:00
Xiaoxi Wang 314f86c668 fix invert range bug 2023-03-01 22:41:50 -08:00
Xiaoxi Wang 2d78b126f6 rename splitCount to chunkCount 2023-03-01 21:51:51 -08:00
Xiaoxi Wang c7e2eae88c add unit test for new readHotDetect implementation and add comments 2023-03-01 21:42:22 -08:00
Xiaoxi Wang 179f0ba71c new version of getReadHotRanges 2023-03-01 15:55:29 -08:00
Xiaoxi Wang 8cb2a1553a add read ops sampler 2023-02-28 12:03:42 -08:00
Hui Liu 774446d3a0 Support pagination for StorageServer splitMetrics API 2023-02-02 14:21:38 -08:00
A.J. Beamon ce4a2a55b2 Remove the usage of tenant names (mostly) from the storage server 2022-12-05 15:44:41 -08:00
Xiaoxi Wang f997e73758 rename variable and solve some light comments 2022-11-14 13:11:27 -08:00
Xiaoxi Wang 7442cfa2cb format code 2022-11-01 14:56:55 -07:00
Xiaoxi Wang 55a3db82b5 update the name, comment and discription of write byte sampling; update the calculation of write bandwidth metrics 2022-11-01 14:56:55 -07:00
Xiaoxi Wang 3c67b7df39 extract serveStorageMetricsRequests template function 2022-10-24 09:58:41 -07:00
sfc-gh-tclinkenbeard 985958c260 Add rare code probe decoration 2022-09-25 15:28:32 -07:00
A.J. Beamon 4fd64630e8 Convert literal string ref instances to use _sr suffix 2022-09-19 11:35:58 -07:00
Bharadwaj V.R 63cb2841a5 Fix formatting in StorageMetrics.* files 2022-08-29 10:02:29 -07:00
Bharadwaj V.R 8df9dd72bb Move StorageMetrics implementations to .cpp file 2022-08-26 15:53:16 -07:00
sfc-gh-tclinkenbeard b7fd093ed0 Move UnitTests.h include 2022-05-10 19:43:57 -07:00
sfc-gh-tclinkenbeard b9b8b2d052 Minor cleanup in StorageMetrics.h 2022-05-10 17:36:54 -07:00
sfc-gh-tclinkenbeard 1e17f32469 Move StorageMetrics unit tests into cpp file 2022-05-10 13:21:23 -07:00