Skip to content

Commit 6e1e147

Browse files
authored
Merge pull request #141 from djmitche/0139-addendum
Amend RFC#139 to reduce 40 to 38, omit org/repo
2 parents 2a2b1fb + d50569f commit 6e1e147

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

rfcs/0139-longer-identifiers.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RFC 139 - Increase identifier length from 20 to 44
1+
# RFC 139 - Increase identifier length from 20 to 38
22
* Comments: [#139](https://api.github.com/repos/taskcluster/taskcluster-rfcs/pull/139), [Bug 1520579](https://bugzilla.mozilla.org/show_bug.cgi?id=1520579)
33
* Proposed by: @djmitche / @mitchhentges
44

@@ -19,25 +19,42 @@ We can, however, allow more than 22 characters.
1919

2020
We will define two types of identifiers:
2121

22-
* "identifiers" -- up to 40 characters, generally containing human-readable identifiers
22+
* "identifiers" -- up to 38 characters, generally containing human-readable identifiers
2323
* `provisionerId`, `workerType`, `workerGroup`, `workerId`
2424
* `schedulerId`
25-
* `organization`, `repository` (in tc-github)
2625

2726
* "slugids" -- exactly 22 characters, always a slugid
2827
* `taskGroupId`
2928
* `taskId`
3029

30+
The following remain separate:
31+
* `organization`, `repository` (limited to 100 characters in taskcluster-github)
32+
33+
The rationale for the choice of 38 is the [task status routing key](https://docs.taskcluster.net/docs/reference/platform/taskcluster-queue/references/events#routing-key) which contains
34+
35+
| name | max characters |
36+
|----------------|----------------|
37+
| routingKeyKind | 7 |
38+
| taskId | 22 |
39+
| runId | 3 |
40+
| workerGroup | N |
41+
| workerId | N |
42+
| provisionerId | N |
43+
| workerType | N |
44+
| schedulerId | N |
45+
| taskGroupId | 22 |
46+
| reserved | 1 |
47+
48+
With a total of 9 dots between each of those components.
49+
So the total length is `5N + 55 + 9 <= 255`.
50+
Solving for N, we get 38.
51+
3152
This change requires changes to schemas and API declarations in services in the monorepo, as well as to `aws-provisioner` and possibly `ec2-manager`, workers, and client libraries.
3253
Much of this work has [already been done](https://github.com/taskcluster/taskcluster/pull/110) by @OjaswinM.
3354

3455
We already have checks on AMQP routing key lengths, and the increased length does not cause any failures in that code.
3556

36-
# Open Questions
37-
38-
TBD
39-
4057
# Implementation
4158

42-
* https://github.com/taskcluster/taskcluster/pull/110
43-
* TBD
59+
* [taskcluster/taskcluster#110](https://github.com/taskcluster/taskcluster/pull/110)
60+
* [Bug 1520579](https://bugzilla.mozilla.org/show_bug.cgi?id=1520579)

0 commit comments

Comments
 (0)