| 22 Jun 2021 |
David Arnold (blaggacao) | Iirc the state in zeebe is distributed among the brokers without central db for running workflow instances, once terminated they (or alternatively all events during execution) are persisted into the data lake. | 22:26:58 |
David Arnold (blaggacao) | Brokers may have a local in-mempry db or something. | 22:27:17 |
tomberek | So events are considered independent? | 22:28:11 |
David Arnold (blaggacao) | But it's basically pure event sourcing between brokers, which is a handy byproduct of the message queue used (don't know which) | 22:28:19 |
David Arnold (blaggacao) | No, I guess events are considered unique (at most once, at least once semantics) | 22:29:00 |
David Arnold (blaggacao) | Not sure though. | 22:29:09 |
David Arnold (blaggacao) | Zeebe:
- apiserver + broker
- message queue
- elasticsearch (datalake)
| 22:30:23 |
David Arnold (blaggacao) | That's about it. | 22:30:34 |
David Arnold (blaggacao) | Ok the broker has fancy features such as distributed runtime state and the workflow engine 😀 | 22:31:08 |
David Arnold (blaggacao) | Each bpmn action has roughly/conceptually two events/messages:
JobStart + JobFinish | 22:33:29 |
David Arnold (blaggacao) | And workers need to understand those and return meaningful output (JobFinish message) | 22:34:11 |
David Arnold (blaggacao) | It's actually pretty simple. | 22:36:05 |
David Arnold (blaggacao) | The biggest challange is packaging zeebe / OPA for nixpkgs. | 22:36:33 |
| 23 Jun 2021 |
Taneb | How do the "Previous Hydra evaluation" and "Previous Hydra buld" input types work? | 15:21:59 |
Amanda (she/her) | Did something chanage with hydra/nix recently that &scheme=http won't work for s3:// caches? I'm attempting to specifically bypass nginx to a minio instance on localhost to avoid upping the client file size limit, but I'm seeeing a lot of "SSL connection error"s | 22:18:38 |
Amanda (she/her) | Specifically, lots of this: Jun 23 18:14:17 miranda hydra-queue-runner[455780]: AWS error '' (curlCode: 35, SSL connect error), will retry in X ms | 22:20:04 |
Amanda (she/her) | Oh. looks like a pqxx update broke hydra:
make[3]: Entering directory '/build/source/src/hydra-evaluator'
g++ -DHAVE_CONFIG_H -I. -I../.. -std=c++17 -I/nix/store/ll3ava4533mdgadiy6mxmrvi6cnnsbvp-nix-2.4pre20210623_323e545-dev/include/nix -I/nix/store/y4xvwgsrms14b2lmcnbwmfsz10svvzid-boehm-gc-8.0.4-dev/include -Wall -I ../libhydra -Wno-deprecated-declarations -g -O2 -std>
In file included from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/util.hxx:31,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/result.hxx:25,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/binarystring.hxx:21,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/binarystring:4,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/pqxx:3,
from ../libhydra/db.hh:3,
from hydra-evaluator.cc:1:
../../version:1:1: error: expected unqualified-id before numeric constant
1 | 0.1
| ^~~
In file included from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/util.hxx:37,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/result.hxx:25,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/binarystring.hxx:21,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/binarystring:4,
from /nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/pqxx:3,
from ../libhydra/db.hh:3,
from hydra-evaluator.cc:1:
/nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/util.hxx: In function 'void pqxx::check_version()':
/nix/store/35li1apz6s7a3nhvi1vv9w6h96yjrrxx-libpqxx-7.5.2/include/pqxx/util.hxx:183:42: error: 'check_pqxx_version_PQXX_VERSION_MAJOR_PQXX_VERSION_MINOR' is not a member of 'pqxx::internal'
183 | static auto const version_ok{internal::PQXX_VERSION_CHECK()};
| ^~~~~~~~~~~~~~~~~~
hydra-evaluator.cc: In member function 'bool Evaluator::shouldEvaluate(Evaluator::Jobset&)':
hydra-evaluator.cc:236:43: error: 'using work = class pqxx::transaction<>' {aka 'class pqxx::transaction<>'} has no member named 'parameterized'
236 | auto evaluation_res = txn.parameterized
| ^~~~~~~~~~~~~
hydra-evaluator.cc:250:62: error: expected primary-expression before 'int'
250 | auto evaluation_id = evaluation_res[0][0].as<int>();
| ^~~
hydra-evaluator.cc:252:49: error: 'using work = class pqxx::transaction<>' {aka 'class pqxx::transaction<>'} has no member named 'parameterized'
252 | auto unfinished_build_res = txn.parameterized
| ^~~~~~~~~~~~~
make[3]: *** [Makefile:440: hydra_evaluator-hydra-evaluator.o] Error 1
make[3]: Leaving directory '/build/source/src/hydra-evaluator'
make[2]: *** [Makefile:360: all-recursive] Error 1
make[2]: Leaving directory '/build/source/src'
make[1]: *** [Makefile:416: all-recursive] Error 1
make[1]: Leaving directory '/build/source'
make: *** [Makefile:346: all] Error 2
| 22:41:26 |
| 24 Jun 2021 |
Taneb | Yeah, I noticed that the other day. Not sure how to fix it though :( | 07:57:34 |
| vertebralsilence joined the room. | 13:21:19 |
| 25 Jun 2021 |
ajs124 | Does hydra have a way to pass build options, e.g. something like a sandbox exception to a specific job(set)? | 13:47:15 |
| 26 Jun 2021 |
| Jez (he/him) joined the room. | 08:44:39 |
| wucke13 joined the room. | 08:46:07 |
wucke13 | Is it possible to have hydra build the nixosConfigurations in a flake? | 08:46:43 |
wucke13 | And: Whats need to be done to make hydra use binfmt to build for non native systems (e.g. aarch64 on a x86_64 host)? | 09:28:47 |
Mic92 (Old) | binfmt support is documented here: https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix | 09:55:38 |
manveru | Mic92: isn't that a pretty old way of doing it? i just set boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; | 09:59:52 |
manveru | though i haven't tried that with hydra... it works for normal nix builds | 10:00:30 |
Mic92 (Old) | might be... I took it from here: https://github.com/nix-community/nixos-generators#cross-compiling | 10:00:40 |
Mic92 (Old) | If it works for normal builds it should work for hydra. | 10:00:53 |
wucke13 | It is not working for hydra. Hydra just claims that no machine is available for that arch. So there must be some way to tell hydra that the local machine supports said arch? | 10:47:39 |