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

uber / cadence / 0187fdd2-f4a4-4c9a-97b4-6604937bf7be

09 May 2023 12:23AM UTC coverage: 57.253% (-0.002%) from 57.255%
0187fdd2-f4a4-4c9a-97b4-6604937bf7be

Pull #5252

buildkite

David Porter
Merge branch 'master' into feature/zonal-partitioning
Pull Request #5252: Feature/zonal partitioning

1460 of 1460 new or added lines in 51 files covered. (100.0%)

86909 of 151799 relevant lines covered (57.25%)

2482.17 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

77.78
/common/partition/context.go
1
// The MIT License (MIT)
2

3
// Copyright (c) 2017-2020 Uber Technologies Inc.
4

5
// Permission is hereby granted, free of charge, to any person obtaining a copy
6
// of this software and associated documentation files (the "Software"), to deal
7
// in the Software without restriction, including without limitation the rights
8
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
// copies of the Software, and to permit persons to whom the Software is
10
// furnished to do so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in all
13
// copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
// SOFTWARE.
22

23
package partition
24

25
import "context"
26

27
type configKey struct{}
28

29
type isolationGroupKey struct{}
30

31
// ConfigFromContext retrieves infomation about the partition config of the context
32
// which is used for tasklist isolation
33
func ConfigFromContext(ctx context.Context) map[string]string {
1✔
34
        val, ok := ctx.Value(configKey{}).(map[string]string)
1✔
35
        if !ok {
1✔
36
                return nil
×
37
        }
×
38
        return val
1✔
39
}
40

41
// ContextWithConfig stores the partition config of tasklist isolation into the given context
42
func ContextWithConfig(ctx context.Context, partitionConfig map[string]string) context.Context {
1✔
43
        return context.WithValue(ctx, configKey{}, partitionConfig)
1✔
44
}
1✔
45

46
// IsolationGroupFromContext retrieves the isolation group from the given context,
47
// which is used to identify which isolation group the poller is from
48
func IsolationGroupFromContext(ctx context.Context) string {
1✔
49
        val, ok := ctx.Value(isolationGroupKey{}).(string)
1✔
50
        if !ok {
1✔
51
                return ""
×
52
        }
×
53
        return val
1✔
54
}
55

56
// ContextWithIsolationGroup stores the isolation group into the given context
57
func ContextWithIsolationGroup(ctx context.Context, isolationGroup string) context.Context {
1✔
58
        return context.WithValue(ctx, isolationGroupKey{}, isolationGroup)
1✔
59
}
1✔
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

© 2026 Coveralls, Inc