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
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
Lukas Joswiak
7fb427f4ec
Update fdbserver/GrvProxyServer.actor.cpp
...
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-07-22 10:37:29 -07:00
Lukas Joswiak
a26344b877
Update fdbserver/GrvProxyServer.actor.cpp
...
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-07-22 10:37:29 -07:00
Lukas Joswiak
8395c6cf3f
Fix Tuple error
2022-07-22 10:37:29 -07:00
Lukas Joswiak
5fa8e3f7d0
Simplify refresh condition
2022-07-22 10:37:29 -07:00
Lukas Joswiak
703aa1d279
Mess with timeout values
2022-07-22 10:37:29 -07:00
Lukas Joswiak
40d403ed5f
Reduce global configuration system key reads from proxy
...
Clients now poll the proxy for the latest global config for a specific
version. The proxy now periodically requests the latest global
configuration data and stores it in memory, enabling it to respond
immediately to clients with the appropriate version.
2022-07-22 10:37:29 -07:00
Lukas Joswiak
56dfdbda83
Add migration timeout
2022-07-22 10:37:29 -07:00
Lukas Joswiak
e024db85a0
Update fdbserver/GrvProxyServer.actor.cpp
...
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-07-22 10:37:29 -07:00
Lukas Joswiak
7a48a53778
Perform migration automatically on proxy boot
2022-07-22 10:37:29 -07:00
Lukas Joswiak
2e99d5f6cc
Batch global config refresh requests
2022-07-22 10:37:29 -07:00
Lukas Joswiak
c33e44b0f4
Proxy GlobalConfig reads through GRV proxies
...
Clients should avoid reading system keys unless authorized. Under global
config, each client reads from the system keyspace to check for new
global config keys. This commit moves these reads to a server role (the
GRV proxies) and sends the results back to GlobalConfig for an in-memory
update.
2022-07-22 10:37:29 -07:00