Skip to content

admission: data race under elasticCPUGranter #88269

@irfansharif

Description

@irfansharif

Describe the problem

See this CI failure for TestAlterChangefeedAddTarget/cloudstorage under github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl; likely fallout from #88031.

WARNING: DATA RACE
Read at 0x00c00016eae8 by goroutine 177:
  github.com/cockroachdb/cockroach/pkg/util/quotapool.(*TokenBucket).Update()
      github.com/cockroachdb/cockroach/pkg/util/quotapool/token_bucket.go:56 +0x87
  github.com/cockroachdb/cockroach/pkg/util/quotapool.(*TokenBucket).UpdateConfig()
      github.com/cockroachdb/cockroach/pkg/util/quotapool/token_bucket.go:73 +0x17d
  github.com/cockroachdb/cockroach/pkg/util/admission.(*elasticCPUGranter).setUtilizationLimit()
      github.com/cockroachdb/cockroach/pkg/util/admission/elastic_cpu_granter.go:197 +0x151
  github.com/cockroachdb/cockroach/pkg/util/admission.(*schedulerLatencyListener).SchedulerLatency()
      github.com/cockroachdb/cockroach/pkg/util/admission/scheduler_latency_listener.go:151 +0x6f9
  github.com/cockroachdb/cockroach/pkg/util/admission.SchedulerLatencyListener.SchedulerLatency-fm()
      <autogenerated>:1 +0x61
  github.com/cockroachdb/cockroach/pkg/util/schedulerlatency.(*sampler).sampleOnTickAndInvokeCallbacks()
      github.com/cockroachdb/cockroach/pkg/util/schedulerlatency/sampler.go:149 +0x40a
  github.com/cockroachdb/cockroach/pkg/util/schedulerlatency.StartSampler.func1()
      github.com/cockroachdb/cockroach/pkg/util/schedulerlatency/sampler.go:102 +0x5c4
  github.com/cockroachdb/cockroach/pkg/util/stop.(*Stopper).RunAsyncTaskEx.func2()
      github.com/cockroachdb/cockroach/pkg/util/stop/stopper.go:489 +0x1f6
Previous write at 0x00c00016eae8 by goroutine 1322:
  github.com/cockroachdb/cockroach/pkg/util/quotapool.(*TokenBucket).Update()
      github.com/cockroachdb/cockroach/pkg/util/quotapool/token_bucket.go:62 +0x1f7
  github.com/cockroachdb/cockroach/pkg/util/quotapool.(*TokenBucket).Adjust()
      github.com/cockroachdb/cockroach/pkg/util/quotapool/token_bucket.go:85 +0x51
  github.com/cockroachdb/cockroach/pkg/util/admission.(*elasticCPUGranter).tookWithoutPermission()
      github.com/cockroachdb/cockroach/pkg/util/admission/elastic_cpu_granter.go:162 +0x2c
  github.com/cockroachdb/cockroach/pkg/util/admission.(*WorkQueue).Admit()
      github.com/cockroachdb/cockroach/pkg/util/admission/work_queue.go:519 +0x545
  github.com/cockroachdb/cockroach/pkg/util/admission.(*ElasticCPUWorkQueue).Admit()
      github.com/cockroachdb/cockroach/pkg/util/admission/elastic_cpu_work_queue.go:85 +0x144
  github.com/cockroachdb/cockroach/pkg/kv/kvserver.(*KVAdmissionControllerImpl).AdmitKVWork()
      github.com/cockroachdb/cockroach/pkg/kv/kvserver/pkg/kv/kvserver/store.go:3917 +0x72e
  github.com/cockroachdb/cockroach/pkg/server.(*Node).batchInternal()
      github.com/cockroachdb/cockroach/pkg/server/node.go:1076 +0x52a
  github.com/cockroachdb/cockroach/pkg/server.(*Node).Batch()

Jira issue: CRDB-19757

Metadata

Metadata

Assignees

Labels

A-admission-controlC-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions