• 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.11-prerelease10
branch: v1.2.11-prerelease10
CHANGE BRANCH
x
Reset
  • v1.2.11-prerelease10
  • 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-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.12-prerelease2
  • 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.507% (+0.07%) from 71.438%
01906f58-9152-4384-8df5-75027bc8a610

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%)

15 existing lines in 7 files now uncovered.

105296 of 147252 relevant lines covered (71.51%)

2599.69 hits per line

Relevant lines Covered
Build:
Build:
147252 RELEVANT LINES 105296 COVERED LINES
2599.69 HITS PER LINE
Source Files on v1.2.11-prerelease10
  • Tree
  • List 727
  • Changed 315
  • Source Changed 0
  • Coverage Changed 35
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
01906f58... v1.2.11-prerelease10 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 01 Jul 2024 06:08PM UTC web-flow buildkite
71.51
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