Closed
Bug 1170821
Opened 9 years ago
Closed 9 years ago
queue: Azure queue naming collisions
Categories
(Taskcluster :: Services, defect, P2)
Taskcluster
Services
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jonasfj, Assigned: jonasfj)
References
Details
Attachments
(2 files)
taskcluster-queue uses azure queue storage, one queue for each provisionerId/workerType.
Due to super obscure azure queue storage naming conventions we tried to base64 decode identifiers followed by a base32 encoding, see:
https://github.com/taskcluster/taskcluster-queue/blob/a51f68aae994d7d13b7e55b524b99b3fc17cf645/queue/queueservice.js#L292-L303
And decodeUrlSafeBase64 in the same file.
However, it turns out that this doesn't work. We have collisions.
As nothing is critically broken right now, and this only affects workerTypes that almost the same name...
We critically have to fix this... And try to do a gradual migration, by returning URLs for multiple queues...
Assignee | ||
Comment 1•9 years ago
|
||
See comments on PR.
This also fixes: bug 1162943, otherwise the legacy queues would just sit around forever, now we get clean up too.
Of course remind me to configure an scheduled job on heroku :)
Comment 2•9 years ago
|
||
Comment on attachment 8616316 [details] [review]
GIthub PR
Looks good. Had some comments in the PR but nothing major. I am curious how this will handle multiple priority queues as it's right now hard coded to have two queues (new one, and legacy), but maybe there is something I overlooked about this.
Attachment #8616316 -
Flags: review?(garndt) → review+
Comment 3•9 years ago
|
||
oh, and I also just took a quick look at how the new queuenames are being constructed and tested it out locally, I assume it's a sane idea and works fine.
Assignee | ||
Comment 4•9 years ago
|
||
Pushed fixed will merge and deploy this later today when an interrupt is less annoying.
I doubt this will cause problems, but we never know...
Assignee | ||
Comment 5•9 years ago
|
||
Rolled out... Next step is to remove the legacy queue names...
We can do so in a week or so, when all messages in them have been consumer or expired.
Updated•9 years ago
|
Component: TaskCluster → Queue
Product: Testing → Taskcluster
Assignee | ||
Comment 6•9 years ago
|
||
Remove legacy queues... Should just work (tm).
Updated•9 years ago
|
Attachment #8636304 -
Flags: review+
Assignee | ||
Comment 7•9 years ago
|
||
Deployed and working -- I hope..
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Updated•6 years ago
|
Component: Queue → Services
You need to log in
before you can comment on or make changes to this bug.
Description
•