filing new bugs is not using the bugzilla component defined in-tree
Categories
(Tree Management :: Treeherder, defect)
Tracking
(Not tracked)
People
(Reporter: jmaher, Unassigned)
References
Details
Attachments
(1 external file, 1 obsolete file)
| Reporter | ||
Comment 1•8 years ago
|
||
Comment 2•8 years ago
|
||
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
Comment 5•8 years ago
|
||
| Reporter | ||
Comment 6•8 years ago
|
||
Comment 7•8 years ago
|
||
Comment 8•8 years ago
|
||
| Reporter | ||
Comment 9•8 years ago
|
||
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Updated•8 years ago
|
Comment 12•8 years ago
|
||
| Reporter | ||
Comment 13•8 years ago
|
||
Comment 14•8 years ago
|
||
Comment 15•8 years ago
|
||
Comment 16•8 years ago
|
||
| Reporter | ||
Comment 17•8 years ago
|
||
Comment 18•8 years ago
|
||
Comment 19•8 years ago
|
||
Comment 20•8 years ago
|
||
Comment 22•8 years ago
|
||
Updated•8 years ago
|
Comment 23•8 years ago
|
||
Comment 24•8 years ago
|
||
Comment 25•8 years ago
|
||
| Reporter | ||
Comment 26•6 years ago
|
||
this conversation hasn't happened in a while, we seem to have good quality bugs these days- closing unless there is new information.
Comment 27•6 years ago
|
||
Reopening as it's a time waster.
Updated•5 years ago
|
Comment 28•5 years ago
|
||
Comment 29•5 years ago
|
||
Hi Chris, are you the new the taskcluster SRE person? Could you help getting the deployment of https://prototype.treeherder.nonprod.cloudops.mozgcp.net/jobs?repo=autoland and the related the database schemas going? I'd like to check the new data ingestion works as expected before it gets merged into production. Thank you in advance.
Comment 30•5 years ago
|
||
I've merged the new cronjob/schedule into the nonprod treeherder deploy spec.
I don't see anything regarding databases in the cloudops code, but I'm new on this project, so I could be missing something ... ?
Comment 31•5 years ago
|
||
It's also my first time having such a request.
Questions:
- Does the migration mentioned
python manage.py migrateat https://docs.djangoproject.com/en/3.1/topics/migrations/#workflow need to be run manually (I think so)? - The call to
/api/repository/fails and causes https://prototype.treeherder.nonprod.cloudops.mozgcp.net/jobs?repo=autoland to remain blank. This data gets loaded into fromtreeherder/model/fixtures/repository.jsoninto the database when the app starts/reboots. It got modified in the recent push but I don't spot an issue (and it ran successfully on the local machine): https://github.com/mozilla/treeherder/commit/22155749149bfeb018ffc3b1a3ed849b591d07dc#diff-4d440bff7edf0c62897c28f2cd87538d1e2929e06fbc8409856f3f1e492762fe As far as I remember, I found a message about a missing column related to performance earlier this week (in GCP?) but am unable to find it.
Log Explorer shows nothing forresource.labels.database_id="moz-fx-treeherde-nonprod-34ec:treeherder-nonprod-prototype-v1"- could you check if GCP if failure messages are being logged elsewhere?
Thank you in advance.
Comment 32•5 years ago
•
|
||
Found the error: https://console.cloud.google.com/errors/CLLUuf7x2fOAXw?time=P1D&project=moz-fx-treeherde-nonprod-34ec
OperationalError: (1054, "Unknown column 'repository.life_cycle_order' in 'field list'")
So it's missing https://github.com/mozilla/treeherder/pull/7151/files#diff-69a54a8c36fc6091dc4cb899a8593707d4166e68e8db8c08dd33c4740877c879R107 - the migration command from comment 31 (in full: docker-compose run backend ./manage.py migrate) should fix this.
(The performance error message I remembered was this one.)
Comment 33•5 years ago
•
|
||
It does seem like the db migrate needs to be run manually. It is not part of the prototype Jenkins pipeline, though it is part of the stage and production pipelines.
I don't see any documentation in any of cloudops' repos regarding db migrations for treeherder.
:sclements, since you seem to know more than us about how these deploys go, do you know how db migrations work for the prototype env?
Comment 34•5 years ago
•
|
||
After s'more poking, it looks like the MIGRATE step in Jenkins does run a container with the entrypoint set to "release", which, according to entrypoint_prod.sh calls ./bin/pre_deploy, which runs the django migration.
Whether or not this should happen on prototype, though, I'm still unclear. If I understand prototype correctly, it gets reset to master every-so-often, so automatic db migrations may not be desirable (or workable)...
Comment 35•5 years ago
|
||
(In reply to chris valaas [:cvalaas] from comment #34)
After s'more poking, it looks like the MIGRATE step in Jenkins does run a container with the entrypoint set to "release", which, according to entrypoint_prod.sh calls ./bin/pre_deploy, which runs the django migration.
Whether or not this should happen onprototype, though, I'm still unclear. If I understandprototypecorrectly, it gets reset tomasterevery-so-often, so automatic db migrations may not be desirable (or workable)...
Hi Chris, prototype should behave the exact same way as stage and prod - so migrations should run on every deploy. People will only occasionally use the prototype branch by pushing directly to it via Git, its not designed to automatically reset to master as far as I'm aware. Also, for your reference here's some docs that might be useful for you - just a general FYI. https://treeherder.readthedocs.io/infrastructure/administration.html#database-management-cloudops
Comment 36•5 years ago
|
||
Okay, I added the MIGRATE step to the prototype deploy. Should happen next prototype deployment.
Comment 37•5 years ago
|
||
Prototype got a new push from me yesterday (a merge of master because the prototype branch is protected force pushes) and it shows the pushes now but no tasks - this could be explained if it fails to connect to Pulse and retrieve the messages about the tasks. This was working 11 days earlier and the recent commits look unrelated. The database is working because the pushes are being stored.
Comment 38•5 years ago
|
||
(In reply to Sebastian Hengst [:aryx] (needinfo on intermittent or backout) from comment #37)
Prototype got a new push from me yesterday (a merge of master because the prototype branch is protected force pushes) and it shows the pushes now but no tasks - this could be explained if it fails to connect to Pulse and retrieve the messages about the tasks. This was working 11 days earlier and the recent commits look unrelated. The database is working because the pushes are being stored.
I'd file anything like this under cloudOps. Chris, can you look into this please? You'll probably need to look at the pulse_listener_tasks or other *task worker.
Comment 39•5 years ago
|
||
Most of the log messages from the last 26 hours for pulse_listener_tasks in prototype look like this (several lines per second):
[2021-08-18 20:34:22,714] DEBUG [treeherder.services.pulse.consumers:155] received job message from exchange/taskcluster-queue/v1/task-completed#primary.QugQcbIrTCmCTpBz6tWUfg.0.us-west-1.i-08cb54ae59a438e02.gecko-t.t-linux-xlarge.gecko-level-1.b-Xxq0DqRJyxCYZSZwqoYA._
If I filter out "received job message", these are the only log messages left:
2021-08-17 22:33:45.847 | WARNING | mozci.configuration:__init__:123 - Configuration path mozci_config.toml is not a file.
22:33:45.878 | INFO | mozci.data.base:51 - Sources selected, in order of priority: ('hgmo', 'taskcluster', 'treeherder_client').
[2021-08-17 22:33:46,015] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-pending #.#
[2021-08-17 22:33:46,019] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-running #.#
[2021-08-17 22:33:46,022] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-completed #.#
[2021-08-17 22:33:46,025] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-failed #.#
[2021-08-17 22:33:46,028] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-exception #.#
[2021-08-17 22:33:46,138] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-pending #.#
[2021-08-17 22:33:46,142] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-running #.#
[2021-08-17 22:33:46,146] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-completed #.#
[2021-08-17 22:33:46,152] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-failed #.#
[2021-08-17 22:33:46,159] INFO [treeherder.services.pulse.consumers:102] Pulse queue queue/treeherder-prototype/tasks bound to: exchange/taskcluster-queue/v1/task-exception #.#
(There was a similar batch of messages from 19:41 (which seems to match the time of the deploy) that I left out. Same messages though.)
I don't see any other workload ending in *tasks in the cluster.
Comment 40•5 years ago
|
||
Let's take this log message:
{
insertId: "h8lmn78h4q5vr7lc"
labels: {10}
logName: "projects/moz-fx-treeherde-nonprod-34ec/logs/stderr"
receiveTimestamp: "2021-08-18T21:14:02.870117823Z"
resource: {2}
severity: "ERROR"
textPayload: "[2021-08-18 21:13:59,696] DEBUG [treeherder.etl.taskcluster_pulse.handler:179] Message received for task YBAIl9huRU6FA3QPXRr0jw"
timestamp: "2021-08-18T21:13:59.696802846Z"
}
The mentioned task ran 9 days ago - the prototype instance might try to process the backlog of messages since my first push to prototype because it's unbounded. https://pulseguardian.mozilla.org/queues shows only my own queue.
The queue should be deleted and prototype restarted which will recreate it (worked with my queue) - this shall get rid of the backlog. https://mana.mozilla.org/wiki/display/ITEO/Systems+Engineering+Team might have admin access in case you don't have it. The credentials are likely in the vault Sarah passed to cloudOps when they took over (I don't have access).
Comment 41•5 years ago
|
||
From what I can see via CloudAMQP.com, the treeherder-prototype instance has 19 queues. All but one are empty. The store_pulse_tasks queue has 3+ million messages.
It looks like I can purge that queue, would that work?
It also seems I can delete it, but if purging it is sufficient, that seems the easier solution.
Comment 42•5 years ago
|
||
Are there other store_pulse_tasks queues (one per instance, because acked messages are not sent to other instances (?)).
If the answer is yes: 3+ million messages sound like it cannot be production. Please purge the messages.
Comment 43•5 years ago
|
||
treeherder-prod and treeherder-stage both have store_pulse_tasks queues, but they're both empty (messages are popping in and out, but they're hovering at 0).
Shall I go ahead and purge store_pulse_tasks on treeherder-prototype?
Comment 44•5 years ago
•
|
||
(In reply to Sebastian Hengst [:aryx] (needinfo on intermittent or backout) from comment #42)
Are there other
store_pulse_tasksqueues (one per instance, because acked messages are not sent to other instances (?)).If the answer is yes: 3+ million messages sound like it cannot be production. Please purge the messages.
Each deployment has its own store_pulse_task worker and listeners, so deleting one should not affect other deployments. To clarify, the pulse_listener_tasks is a cloudAMQP queue, not a pulse guardian queue. It takes those messages from pulse guardian queues and then processes and stores those tasks with store_pulse_tasks, which also then kicks off log process workers if applicable. So we want to purge the store_pulse_tasks queue as Chris said, not delete the pulse guardian queues.
Comment 45•5 years ago
•
|
||
(In reply to chris valaas [:cvalaas] from comment #43)
treeherder-prodandtreeherder-stageboth havestore_pulse_tasksqueues, but they're both empty (messages are popping in and out, but they're hovering at 0).Shall I go ahead and purge
store_pulse_tasksontreeherder-prototype?
Before you purge it, we should figure out why the messages aren't being acknowledged because that would be why the tasks are not showing up in prototype. Is it under resourced or is there some other error?
I'm not seeing the connection between your changes on prototype Sebastian and why the tasks stopped being stored in the database.
We've had occasional issues with workers not working for some random infra reason and never being alerted to it until someone notices something is broken. Any ideas on how to set up alerts when something fails or we reach some sort of unacknowledged message limit, Chris?
Comment 46•5 years ago
•
|
||
Aha, I see some errors in new relic: https://onenr.io/08dQeJVA5we
So it looks like this error OperationalError: (1054, "Unknown column 'repository.life_cycle_order' in 'field list'") that Sebastian mentioned was the cause of the backlog of storing tasks and the last occurrence was August 17th. So safe to proceed with purging the queue then. But I wonder if the other 1.7 million messages from "Retry in 30s: MissingPushException('No push found in try for revision 0d206fdbd6564bd64904ffac7bf83ea3112fbe13 for task BkRVyClsRUO_OoOwnwmTkw')" is also an issue. That seems to be on going. That might need to be looked into more.
Chris, if you're going to be the Treeherder point of contact for troubleshooting I can give you access to New Relic if you'd like.
Comment 47•5 years ago
|
||
So safe to proceed with purging the queue then.
Queue has been purged.
Chris, if you're going to be the Treeherder point of contact for troubleshooting I can give you access to New Relic if you'd like.
That'd be great, thanks!
Comment 50•5 years ago
|
||
Chris, please set up the cron task for production.
Merge to master: https://github.com/mozilla/treeherder/commit/d3973898636dbfd91a4bba763ba742ced4d3979b
Updated•5 years ago
|
Comment 51•5 years ago
•
|
||
Added new cron to stage (I assume you want it in stage? If not, let me know) and prod. Awaiting review and merge.
https://github.com/mozilla-services/cloudops-infra/pull/3358
EDIT: merged.
Comment 52•5 years ago
|
||
Could you check the config, please? Searching Log Explorer for treeherder-prod for update_files_bugzilla_map doesn't find anything but does treeherder-nonprod - or is this awaiting deployment?
Comment 53•5 years ago
|
||
Looks like :sclements approved a prod deploy within the last hour ... ?
Comment 54•5 years ago
|
||
Thanks, wasn't sure if this needed a new TH deploy or the cloudops-infra change was managed independently. Production shows the desired behavior now.
| Assignee | ||
Updated•4 years ago
|
Description
•