Syed Paymaan Raza
c146ee0869
[fdbserver] Use STL contains method and std::find for containment checks ( #11702 )
2024-10-15 11:40:02 -07:00
Syed Paymaan Raza
c3e7542cda
Update end year in copyright header
2024-08-02 09:40:11 -07:00
Jingyu Zhou
3a3ee247ab
Fix Wunused-but-set-variable warnings
2024-07-17 13:09:32 -07:00
Dan Lambright
4bda00ab9c
use unique pointer ( #11408 )
...
Co-authored-by: Dan Lambright <hlambright@apple.com >
2024-05-20 18:43:18 -04:00
hao fu
6b782c10f6
Fix globalconfig refresh hang issue
...
CC sets a version to int_max in ClientDBInfo indicating a refresh, however,
proxy server would reject this version for the error of future_version.
This change fixes this issue by not sending int_max, instead maintaining a
lastKnown in memory and send it to grvproxy to get latest globalconfig.
this change also fixes some java tests that were used to test the fix
2024-05-14 15:40:03 -07:00
Dan Lambright
cc6948cec7
Only emit version vector counters when enabled. ( #11385 )
2024-05-14 08:47:53 -07:00
A.J. Beamon
ead6c37e4a
Merge pull request #10662 from sfc-gh-tclinkenbeard/main-fix-grv-queue-leak
...
Fix GRV queue leak
2023-09-01 09:45:49 -07:00
Evan Tschannen
6752a99b0c
fix: when requests are dropped from the queue the txnRequestOut becomes inconsistent with txnRequestIn
2023-08-02 09:07:07 -07:00
sfc-gh-tclinkenbeard
e6627bd2e3
Fix bug where tagThrottler changes transactions' priorities
2023-07-22 02:26:02 -07:00
sfc-gh-tclinkenbeard
b00aed4f1f
Add tag throttler queue stats to GrvProxyStats
2023-07-22 01:31:29 -07:00
sfc-gh-tclinkenbeard
efa46c9e45
Delay updating GrvProxyStats for tagged transactions
2023-07-22 01:25:09 -07:00
sfc-gh-tclinkenbeard
b1c44dd86e
Delay reporting tagged GRV request until it's released
...
Without this change, some eventually rejected transactions would be
prematurely reported to the ratekeeper as having started.
2023-07-22 00:59:15 -07:00
sfc-gh-tclinkenbeard
6e86f94cb9
Decouple token bucket knobs for different types of throttlers
2023-06-28 01:27:19 -07:00
sfc-gh-tclinkenbeard
09ad864eb5
Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration
2023-02-08 11:25:14 -08:00
Chunhao Xu
b9e00d03df
fix on GRV Proxy converts broken_promise errors to master_failed or tlog_failed
2023-01-27 15:19:44 -08:00
Chunhao Xu
f1bf983c6f
GRV Proxy converts broken_promise errors to master_failed or tlog_failed
2023-01-27 10:23:13 -08:00
sfc-gh-tclinkenbeard
0f14647bbf
Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration
2023-01-05 08:10:49 -08:00
FoundationDB CI
86d6106dc1
format source code after switch to clang 15
2022-12-08 17:26:45 +00:00
sfc-gh-tclinkenbeard
4b6098931c
Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration
2022-12-04 08:40:04 -08:00
sfc-gh-tclinkenbeard
b8fd56ec86
Remove duplicate PROXY_MAX_TAG_THROTTLE_DURATION server knob
2022-11-28 09:55:28 -08:00
sfc-gh-tclinkenbeard
3c97f43138
Change Histogram::Unit::microseconds to milliseconds
2022-11-21 08:03:56 -08:00
Sam Gwydir
23706c957b
Use DDSketch for Sample Data.
2022-11-12 13:45:46 -08:00
Jingyu Zhou
2361acbe22
Change SevWarn to SevInfo for injected errors
2022-11-10 12:10:00 -08:00
sfc-gh-tclinkenbeard
64733d2e39
s/GrvProxyTransactionTagThrottler/GrvProxyTagThrottler
2022-11-02 07:35:05 -07:00
sfc-gh-tclinkenbeard
36731efe1d
Apply clang-format
2022-11-01 12:53:15 -07:00
sfc-gh-tclinkenbeard
047578b3d9
Merge remote-tracking branch 'origin/main' into debug
2022-11-01 12:05:45 -07:00
sfc-gh-tclinkenbeard
5fd8d05810
Make PROXY_MAX_TAG_THROTTLE_DURATION a server knob
2022-11-01 11:00:45 -07:00
sfc-gh-tclinkenbeard
736cf4a22f
Add GrvProxyTransactionTagThrottler::maxThrottleDuration field
2022-11-01 10:44:32 -07:00
sfc-gh-tclinkenbeard
6ae0aac153
Merge remote-tracking branch 'origin/main' into add-tag-throttling-latency-bands
2022-10-27 14:07:51 -07:00
sfc-gh-tclinkenbeard
08251329a9
Update tag throttling latency bands in GrvProxyData::updateLatencyBandConfig
2022-10-26 10:48:51 -07:00
Marian Dvorsky
3c5d3f7a94
Fix SpanContext for GP:getLiveCommittedVersion ( #8565 )
...
* Fix SpanContext for GP:getLiveCommittedVersion
2022-10-26 16:29:28 +02:00
sfc-gh-tclinkenbeard
8766809cee
Add count parameter to LatencyBands::addMeasurement
2022-10-25 17:10:59 -07:00
sfc-gh-tclinkenbeard
74212eeacf
Encapsulate CounterCollection
2022-10-25 10:17:15 -07:00
sfc-gh-tclinkenbeard
b90722baa6
Add comment for GrvProxyStats latency bands and samples
2022-10-14 15:58:15 -07:00
sfc-gh-tclinkenbeard
6f01d97006
Subtract proxyTagThrottleDuration from measured GRV latencies
2022-10-12 14:41:32 -07:00
sfc-gh-tclinkenbeard
f1cb4e40f5
Avoid adding untagged requests to GrvProxyTransactionTagThrottler
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
24a0dd9f17
Change GrvProxy tag throttling algorithm.
...
The new algorithm assumes there is only one tag per request,
so queues are partitioned by tag. This is a more efficient approach than
the old algorithm.
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
bbf69b2d0a
Rename TagQueue::runEpoch to TagQueue::releaseTransactions
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
31e8fb0490
Rename epoch to release window in GrvTransactionRateInfo
...
The term "epoch" was used in too many places
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
34857bd2bf
Remove outSystemPriority parameter from TagQueue::runEpoch
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
e313edbb85
Add proxyTagThrottledDuration field to GetReadVersion[Request|Reply]
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
2684464cc6
Use TagQueue in GRV proxy when ENFORCE_TAG_THROTTLING_ON_PROXIES is true
2022-10-10 22:10:08 -07:00
sfc-gh-tclinkenbeard
4c973c11ad
Modularize and comment GrvTransactionRateInfo
2022-10-10 22:10:05 -07:00
A.J. Beamon
4fd64630e8
Convert literal string ref instances to use _sr suffix
2022-09-19 11:35:58 -07:00
sfc-gh-tclinkenbeard
82adc1e856
Make g_simulator a pointer
2022-09-15 09:00:33 -07:00
Markus Pilman
eb16947860
Merge pull request #7844 from jzhou77/grv-error
...
Buggify GRV proxy to return errors and fix bugs found
2022-08-15 13:59:21 -06:00
Evan Tschannen
a9d3c9f9b3
Added throttling when a blob worker falls behind ( #7751 )
...
* throttle the cluster when blob workers fall behind
* do not throttle on blob workers if they are not enabled
* remove an unnecessary actor
* fixed a compile error
* fetch blob worker metrics at the same interval as the rate is updated, avoid fetching the complete blob worker list too frequently
* fixed another compilation bug
* added a 5 second delay before bw throttling to prevent false positives caused by the 100e6 version jump during recovery. Lower the throttling thresholds to react much quicker to bw lag.
* fixed a number of problems
* changed the minBlobVersionRequest to look at storage server versions since this will be a lot more efficient
* fix: do not let desired go backwards
* fix: track the version of notAtLatest changefeeds for throttling
* ratekeeper now throttled blob workers by estimating the transaction per second throughput of the blob workers
* added metrics for blob worker change feeds
* added a knob to disable bw throttling
* fixed the transaction options in blob manager
2022-08-12 13:15:56 -07:00
Jingyu Zhou
a32822a51d
Add fault injection to GRV proxy to return error response
...
This turns out to fail a lot of tests that we need to fix.
2022-08-12 11:13:32 -07:00
Xiaoge Su
0326d53965
Split proxy_memory_limit_exceeded to commit/grv specific exceptions
...
Currently GRV is reporting proxy_memory_limit_exceeded error which has
error message claiming Commit proxy failing. This split should remove
such confusion.
2022-08-12 00:45:57 -07:00
sfc-gh-tclinkenbeard
1bd47a07b2
Add ENFORCE_TAG_THROTTLING_ON_PROXIES knob
2022-08-05 00:40:10 -07:00