• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uber / cadence
72%
master: 72%

Build:
Build:
LAST BUILD BRANCH: fixit
DEFAULT BRANCH: master
Repo Added 12 Jun 2017 08:09PM UTC
Files 727
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH v1.2.12-prerelease2
branch: v1.2.12-prerelease2
CHANGE BRANCH
x
Reset
  • v1.2.12-prerelease2
  • 0.26.x
  • 0.26.x-test-merge
  • 0.27.x
  • 1.1.x
  • 1.2.x
  • 4341
  • CDNC-2946_revert_temp_store
  • CDNC-4362
  • CDNC-4456
  • CDNC_4184
  • CDNC_4445
  • CDNC_4589
  • CDNC_4674
  • CDNC_5084_UpgradeMySQL
  • CDNC_5096_ES
  • Groxx-patch-1
  • bugfix/fix-build
  • cdnc-4709
  • change_mysqlSchemaFolder_tobe_v8
  • dependabot/go_modules/cmd/server/google.golang.org/protobuf-1.33.0
  • dependabot/go_modules/internal/tools/github.com/go-git/go-git/v5-5.11.0
  • dependabot/go_modules/internal/tools/github.com/hashicorp/go-retryablehttp-0.7.7
  • dependabot/go_modules/internal/tools/google.golang.org/protobuf-1.33.0
  • domain-name-validation
  • feature/adding-ig-admin-idl
  • feature/ig-frontend
  • feature/updating-admin-idls-ii
  • feature/zonal-isolation-ii
  • feature/zonal-partition-library
  • feature/zonal-partitioning
  • feature/zonal-partitioning-admin-mapping
  • feature/zonal-partitioning-lib-ii
  • feature/zonal-partitioning-test
  • fix_local_ci
  • global_aggregator
  • master
  • migration_validator
  • neilx_test_timeout
  • readhistorybranch-shard-metrics
  • started-worker-id
  • test-workflow-start-metric
  • testing
  • tifflin/test-helm
  • tim-tasklist-metrics
  • unused-metric
  • v1.2.10
  • v1.2.10-prerelease1
  • v1.2.10-prerelease2
  • v1.2.10-prerelease5
  • v1.2.10-prerelease6
  • v1.2.10-prerelease7
  • v1.2.11
  • v1.2.11-prerelease1
  • v1.2.11-prerelease10
  • v1.2.11-prerelease2
  • v1.2.11-prerelease3
  • v1.2.11-prerelease4
  • v1.2.11-prerelease5
  • v1.2.11-prerelease6
  • v1.2.11-prerelease7
  • v1.2.11-prerelease8
  • v1.2.11-prerelease9
  • v1.2.12-prerelease1
  • v1.2.7
  • v1.2.7-prerelease3
  • v1.2.7-prerelease4
  • v1.2.7-prerelease5
  • v1.2.7-prerelease6
  • v1.2.7-prerelease7
  • v1.2.8
  • v1.2.8-prerelease1
  • v1.2.8-prerelease2
  • v1.2.8-prerelease4
  • v1.2.8-prerelease5
  • v1.2.8-prerelease6
  • v1.2.8-prerelease7
  • v1.2.8-prerelease8
  • v1.2.8-prerelease9
  • v1.2.9
  • v1.2.9-prerelease2
  • v1.2.9-prerelease3
  • v1.2.9-prerelease4
  • v1.2.9-prerelease5
  • v1.2.9-prerelease6
  • validate-domain-name
  • wf-start-metric
  • wip-continue-as-new
  • worklfow-start-count
  • xbowen_add_ContextKey_Struct
  • xbowen_add_double_read00
  • xbowen_add_filter_for_comparator_log
  • xbowen_add_pinot_integration_test00
  • xbowen_add_pinot_integration_test_local_containers
  • xbowen_add_time_range_in_log
  • xbowen_commentFixing
  • xbowen_dual_manager_test01
  • xbowen_history_replicator_test01
  • xbowen_history_replicator_test02
  • xbowen_history_replicator_test03
  • xbowen_pinotQueryValidator_checkTimeTypeInCustomSearchAttribute
  • xbowen_pinotResponseComparator_test0
  • xbowen_pinot_dual_manager_test00
  • xbowen_pinot_triple_manager_test00
  • xbowen_pinot_visibility_store_test_hotfix
  • xbowen_visibility_single_manager_unit_test01

28 Jun 2024 10:07PM UTC coverage: 71.517% (+0.08%) from 71.438%
01909e15-6794-4b38-abfa-ab8dde3a5a9b

push

buildkite

web-flow
Global ratelimiter: everything else (#6141)

After too many attempts to break this apart and build different portions in self-contained ways, and running into various inter-dependent roadblocks... I just gave up and did it all at once.

# Rollout plan for people who don't want or need this system

Do nothing :)

As of this PR, you'll use "disabled" and that should be as close to "no changes at all" as possible.
Soon, you'll get "local", and then you'll have some new metrics you can use (or ignore) but otherwise no behavior changes.

And that'll be it.  The "global" load-balanced stuff is likely to remain opt-in.

# Rollout plan for us

For deployment: any order is fine / should not behave (too) badly.  Even if "global" or either shadow mode is selected on the initial deploy.  Frontends will have background `RatelimitUpdate` request failures until History is deployed, but that'll just mean it continues to use the "local" internal fallback and that's in practice the same behavior as "local" or "disabled", just slightly noisier.

The _smoothest_ deployment is: deploy everything on "disabled" or "local" (the default(s), so no requests are sent until deploy is done), then switch to "local-shadow-global" to warm global limiters / check that it's working, then "global" to use the global behavior.  

Rolling back is just the opposite.  Ideally disable things first to stop the requests, but even if you don't it should be fine.

In more detail:

1. At merge time, this will set the "key mode" (`frontend.globalRatelimiterMode`) to "disabled", which gets as close as is reasonably possible to acting _exactly_ like it did before this PR.
   - This is also effectively the panic button for the initial rollout.
2. Once that proves to not immediately explode, switch to "local" for all keys.  This will keep the current ratelimiter rates, but will start collecting and emitting ratelimiter-usage metrics, so we can make sure that doesn't explode eithe... (continued)

688 of 850 new or added lines in 29 files covered. (80.94%)

14 existing lines in 7 files now uncovered.

105310 of 147252 relevant lines covered (71.52%)

2625.62 hits per line

Relevant lines Covered
Build:
Build:
147252 RELEVANT LINES 105310 COVERED LINES
2625.62 HITS PER LINE
Source Files on v1.2.12-prerelease2
  • Tree
  • List 727
  • Changed 314
  • Source Changed 0
  • Coverage Changed 39
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
01909e15... v1.2.12-prerelease2 Global ratelimiter: everything else (#6141) After too many attempts to break this apart and build different portions in self-contained ways, and running into various inter-dependent roadblocks... I just gave up and did it all at once. # Rollou... push 10 Jul 2024 07:50PM UTC web-flow buildkite
71.52
See All Builds (12090)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc