Thursday, 2021-06-17

corvusswest: you've looked into treecache alot -- can you take a look at this test failure: https://f26c34eeb08a0feb3125-e1a0fd98d652767a6b80e489a96366df.ssl.cf1.rackcdn.com/796583/2/check/zuul-tox-py38/2e1df22/testr_results.html ?03:51
corvusswest: that's from https://zuul.opendev.org/t/zuul/build/2e1df22f21c64ef3a1baf2f81f7aeec4 .  it has extra debugging information i added in https://review.opendev.org/79673903:52
corvusswest: it looks to me like the component registry tree cache is processing events out of order, and it processes the node added event (type 0) after the node deleted event (type 2).03:53
*** zbr is now known as Guest248805:03
tobiash[m]corvus, clarkb I think https://review.opendev.org/c/zuul/zuul/+/795597 might have caused a regression in our system. Jobs that were on a crashed executor are no longer retried but transition directly into the state LOST and are failed then.05:07
*** marios is now known as marios|ruck05:44
*** raukadah is now known as chandankumar05:46
opendevreviewSimon Westphahl proposed zuul/zuul master: Add missing timestamp to change mgmt events  https://review.opendev.org/c/zuul/zuul/+/79676106:25
*** rpittau|afk is now known as rpittau07:22
tobiash[m]corvus: this is a fix for a serialized gate for manuelly re-enqueued items when using the mqtt reporter ^07:24
*** jpena|off is now known as jpena07:31
*** raukadah is now known as chandankumar08:28
opendevreviewSimon Westphahl proposed zuul/zuul master: Add missing timestamp to change mgmt events  https://review.opendev.org/c/zuul/zuul/+/79676108:51
opendevreviewMatthieu Huin proposed zuul/zuul master: Remove another shebang and remove useless exec bits  https://review.opendev.org/c/zuul/zuul/+/72924010:02
opendevreviewMatthieu Huin proposed zuul/zuul master: Remove another shebang and remove useless exec bits  https://review.opendev.org/c/zuul/zuul/+/72924010:33
opendevreviewMatthieu Huin proposed zuul/zuul master: Revert to pyJWT 1.7.1  https://review.opendev.org/c/zuul/zuul/+/79681710:33
masterpe[m]I try to upgrade the zuul, but I get the error: "Error: pg_config executable not found."10:39
masterpe[m]I get this error when I run sudo pip3 install .10:40
masterpe[m]I think I found it, I think libpq-dev is missing in bindep.txt file10:44
masterpe[m]After the upgrade I get the error: "Database configuration is required" I can remember that I heard something that is required now. But is there any documentation on that?10:51
guillaumecmasterpe: https://zuul-ci.org/docs/zuul/reference/releasenotes.html#relnotes-4-0-0 "database" , https://zuul-ci.org/docs/zuul/reference/releasenotes.html#relnotes-4-0-0-deprecation-notes11:03
*** jpena is now known as jpena|lunch11:34
swestcorvus: I was able to reproduce this in a small test case and it seems to be a bug in the TreeCache: https://gist.github.com/westphahl/60097e6aa0f9c2d32f517eba5f5baefe11:37
swestcorvus: in case the async processing of the UPDATED event takes a little longer (simulated by a print statement in my test) the DELETED event will be processed first leading to a wrong TreeEvent and with that to an inconsistent state.11:41
fungitobiash[m]: we noticed the lost state as well. i think the explanation is that the scheduler is currently paying attention to zookeeper to track that, and once we shift the results off gearman we'll get retries back?12:32
*** jpena|lunch is now known as jpena12:32
masterpe[m]For the latest zuul zookeeper 3.5.1 is at least required. I'm using Ubuntu 18.04. Even for Bionic it is still on 3.4.13-5build1. Is there a ppa that I need to use?12:33
fungimasterpe[m]: i'm not aware of any deb packages for zookeeper. ubuntu slurps their packages in from debian/sid which is currently frozen since a while in preparation for the bullseye release... i think pretty much everyone is either deploying the upstream zookeeper release tarballs (with dependencies satisfied from distribution packages), or more commonly running a zookeeper docker container12:38
fungito get zk >=3.5.1 i mean12:38
masterpe[m]But if i'm going to change my setup to use docker then I need to remove gerrit out of the dockercompose?12:49
masterpe[m]I'm going to use a gitlab setup.12:50
guillaumecmasterpe: https://review.opendev.org/c/zuul/zuul/+/795540 , "ansible-playbook -v playbooks/tutorial/run-localtest-gitlab-quick-start.yaml"12:52
masterpe[m]Gitlab is not managed by my self. And I already have a running config with zuul and gitlab. But this config is already some time old.12:55
masterpe[m]But I will give this a look.12:55
masterpe[m]So in my setup gitlab will not be included in the docker compose. But a "external" service.12:58
masterpe[m]But https://review.opendev.org/c/zuul/zuul/+/795540/8/doc/source/examples/gitlab-docker-compose.yaml is a nice example I can use.12:58
corvustobiash, fungi: yes -- that's a regression, but it's better than what was caused by https://review.opendev.org/782939 which made builds on crashed executors stuck and never report.  once we finish the other half of the move to zk, we'll have the old behavior back.  that's tested and confirmed in https://review.opendev.org/794687 which is ready for review.13:20
corvusswest: that is a very weird bug; the mixup of the event type and data seems like it's not just an event sequencing issue, do you know the mechanism?  and do you think it's worth fixing, or should we replace with our own implementation (borrowed from the config cache or executor api)?13:28
*** marios|ruck is now known as marios|call14:02
swestcorvus: the problem is that the delete event is directly forwarded to the event listerner where as the updated event will first trigger an async get of the data and only after that dispatch the event to the listener.14:07
swestcorvus: I haven't checked if there is a way to fix the treecache to dispatch events to the listener in the same order they arrive from ZK14:07
corvusswest: wow, that's unfortunate.  i wonder why the fetch the data async14:24
swestcorvus: when the del event is forwarded they will just attach whatever (old) data is currently in the cache.14:25
swesthttps://github.com/python-zk/kazoo/blob/6337fd6f72b59fb20886f980f2e0d6d41525dc35/kazoo/recipe/cache.py#L253:L26614:27
corvusswest: i'm inclined to say let's file a bug on kazoo and switch component registry to our own implementation14:28
corvusswest: you want to file the bug (since you have that nice reproducer) and i'll start on the replacement?14:29
corvushandling watches is fresh in my mind from digging into the executor api :)14:29
*** marios|call is now known as marios|ruck14:44
*** rpittau is now known as rpittau|afk16:09
*** sshnaidm is now known as sshnaidm|afk16:16
*** marios|ruck is now known as marios|out16:28
*** jpena is now known as jpena|off16:36
opendevreviewJames E. Blair proposed zuul/zuul master: Execute builds via ZooKeeper  https://review.opendev.org/c/zuul/zuul/+/78898818:17
opendevreviewJames E. Blair proposed zuul/zuul master: Move build request cleanup from executor to scheduler  https://review.opendev.org/c/zuul/zuul/+/79468718:17
opendevreviewJames E. Blair proposed zuul/zuul master: Handle errors in the executor main loop  https://review.opendev.org/c/zuul/zuul/+/79658318:17
swestcorvus: yep, can file the bug tomorrow18:46
opendevreviewJames E. Blair proposed zuul/zuul master: Execute builds via ZooKeeper  https://review.opendev.org/c/zuul/zuul/+/78898820:04
opendevreviewJames E. Blair proposed zuul/zuul master: Move build request cleanup from executor to scheduler  https://review.opendev.org/c/zuul/zuul/+/79468720:04
opendevreviewJames E. Blair proposed zuul/zuul master: Handle errors in the executor main loop  https://review.opendev.org/c/zuul/zuul/+/79658320:04
opendevreviewJames E. Blair proposed zuul/zuul master: Replace TreeCache in component registry  https://review.opendev.org/c/zuul/zuul/+/79658222:14
opendevreviewJames E. Blair proposed zuul/zuul master: Add ExecutorApi  https://review.opendev.org/c/zuul/zuul/+/77090222:15
opendevreviewJames E. Blair proposed zuul/zuul master: Change zone handling in ExecutorApi  https://review.opendev.org/c/zuul/zuul/+/78783322:15
opendevreviewJames E. Blair proposed zuul/zuul master: Switch to string constants in BuildRequest  https://review.opendev.org/c/zuul/zuul/+/79184922:15
opendevreviewJames E. Blair proposed zuul/zuul master: Clean up Executor API build request locking and add tests  https://review.opendev.org/c/zuul/zuul/+/78862422:15
opendevreviewJames E. Blair proposed zuul/zuul master: Fix race with watches in ExecutorAPI  https://review.opendev.org/c/zuul/zuul/+/79230022:15
opendevreviewJames E. Blair proposed zuul/zuul master: Execute builds via ZooKeeper  https://review.opendev.org/c/zuul/zuul/+/78898822:15
opendevreviewJames E. Blair proposed zuul/zuul master: Move build request cleanup from executor to scheduler  https://review.opendev.org/c/zuul/zuul/+/79468722:15
opendevreviewJames E. Blair proposed zuul/zuul master: Handle errors in the executor main loop  https://review.opendev.org/c/zuul/zuul/+/79658322:15
corvusswest, felixedel: 796582 applies the executor api zk watcher/cache pattern (as it exiests at the end of that stack) to the component registry.  i really like it -- it seems robust and simple to understand.22:17

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!