Build:
  1. 0
2026-06-16 12:49.45: New job: build balancer.1.0 (8d05b6883175)
2026-06-16 12:49.45: Waiting for resource in pool day11-builds
2026-06-16 14:18.56: Got resource from pool day11-builds
2026-06-16 14:18.56: [profile full] build balancer.1.0
2026-06-16 14:18.56: build balancer.1.0 (8d05b6883175)
=== DEPENDENCIES (21 transitive) ===
  base-bytes.base                                    70d0daec7841
  base-threads.base                                  b7164ff76afe
  base-unix.base                                     839dc585f12d
  bigarray-compat.1.1.0                              ecf1ac9cc3fe
  cppo.1.8.0                                         ea583d2d3bbb
  csexp.1.5.2                                        ec63db2dab31
  cstruct.6.0.1                                      db62722d8978
  dune.3.23.1                                        5402470d931c
  dune-configurator.3.23.1                           58f4a3f92083
  fmt.0.11.0                                         fb25837707ac
  hex.1.5.0                                          4a8f1f557f70
  jbuilder.1.0+beta20.2                              ab5ab9884b95
  lwt.6.1.2                                          4f8aa1aa7c72
  ocaml.4.14.4                                       cb826ea44eb2
  ocaml-base-compiler.4.14.4                         d2f775f983d7
  ocaml-config.2                                     669e0fcf9e4d
  ocamlbuild.0.16.1                                  8f6c52e6fce8
  ocamlfind.1.9.8                                    6025f4a8e98e
  ocplib-endian.1.2                                  4dbd3fe91c51
  react.1.2.2                                        44b071d77fcd
  topkg.1.1.1                                        ab549298f3fc
=== STDOUT ===
Processing: [default: loading data]
[balancer.1.0: dl]
[balancer.1.0: extract]
-> retrieved balancer.1.0  (https://opam.ocaml.org/cache)
[balancer: jbuilder build]
+ /home/opam/.opam/default/bin/jbuilder "build" "-p" "balancer" "-j" "39" (CWD=/home/opam/.opam/default/.opam-switch/build/balancer.1.0)
-       ocamlc lib/.balancer.objs/balancer__FNV1A.{cmi,cmo,cmt}
- File "lib/FNV1A.ml", line 11, characters 14-25:
- 11 |   let nbits = Cstruct.len key in
-                    ^^^^^^^^^^^
- Alert deprecated: Cstruct.len
- len is deprecated, you should use length instead.
-       ocamlc lib/.balancer.objs/balancer__Chash.{cmo,cmt}
- File "lib/chash.ml", line 28, characters 2-6:
- 28 |   host hosts key |> (List.nth t) 
-        ^^^^
- Warning 6 [labels-omitted]: label hosts was omitted in the application of this function.
- File "lib/chash.ml", line 81, characters 13-17:
- 81 |   let succ = host hosts key in
-                   ^^^^
- Warning 6 [labels-omitted]: label hosts was omitted in the application of this function.
-       ocamlc lib/.balancer.objs/balancer__Node.{cmo,cmt}
- File "lib/node.ml", line 12, characters 2-10:
- 12 |   Fmt.strf "%s@%s:%d" id_str t.host t.port
-        ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- File "lib/node.ml", lines 26-29, characters 2-18:
- 26 | ..let hd :: tl = Str.string_after s i_pos |> (Str.split colon)  in
- 27 | 
- 28 |   let host, port = (hd, List.hd tl |> int_of_string) in
- 29 |   {id; host; port}
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- File "lib/node.ml", line 47, characters 7-15:
- 47 |        Fmt.strf "%s:%d" host port |> Cstruct.of_string
-             ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
-     ocamlopt lib/.balancer.objs/balancer__Chash.{cmx,o}
- File "lib/chash.ml", line 28, characters 2-6:
- 28 |   host hosts key |> (List.nth t) 
-        ^^^^
- Warning 6 [labels-omitted]: label hosts was omitted in the application of this function.
- File "lib/chash.ml", line 81, characters 13-17:
- 81 |   let succ = host hosts key in
-                   ^^^^
- Warning 6 [labels-omitted]: label hosts was omitted in the application of this function.
-       ocamlc lib/.balancer.objs/balancer__Serverset.{cmi,cmo,cmt}
- File "lib/serverset.ml", line 97, characters 4-48:
- 97 |     React.E.map (fun nodes -> update t nodes ) e;
-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/serverset.ml", line 129, characters 4-48:
- 129 |     React.E.map (fun nodes -> update t nodes ) e;
-           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/serverset.ml", line 209, characters 4-28:
- 209 |     React.E.map (update t) e;
-           ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/serverset.ml", line 82, characters 10-11:
- 82 |       let e = to_nodes s in
-                ^
- Warning 26 [unused-var]: unused variable e.
-     ocamlopt lib/.balancer.objs/balancer__FNV1A.{cmx,o}
- File "lib/FNV1A.ml", line 11, characters 14-25:
- 11 |   let nbits = Cstruct.len key in
-                    ^^^^^^^^^^^
- Alert deprecated: Cstruct.len
- len is deprecated, you should use length instead.
-       ocamlc lib/.balancer.objs/balancer__Distributor.{cmo,cmt}
- File "lib/distributor.ml", line 78, characters 4-25:
- 78 |     Counter64.incr n.load;     
-          ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 81, characters 6-27:
- 81 |       Counter64.decr n.load; 
-            ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 106, characters 6-28:
- 106 |       RRQueue.add state node;
-             ^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 196, characters 4-25:
- 196 |     Counter64.incr n.load ;
-           ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 199, characters 6-27:
- 199 |       Counter64.decr n.load;
-             ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 237, characters 4-25:
- 237 |     Counter64.incr n.load ;
-           ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 240, characters 8-29:
- 240 |         Counter64.decr n.load;
-               ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
-     ocamlopt lib/.balancer.objs/balancer__Node.{cmx,o}
- File "lib/node.ml", line 12, characters 2-10:
- 12 |   Fmt.strf "%s@%s:%d" id_str t.host t.port
-        ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- File "lib/node.ml", lines 26-29, characters 2-18:
- 26 | ..let hd :: tl = Str.string_after s i_pos |> (Str.split colon)  in
- 27 | 
- 28 |   let host, port = (hd, List.hd tl |> int_of_string) in
- 29 |   {id; host; port}
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- File "lib/node.ml", line 47, characters 7-15:
- 47 |        Fmt.strf "%s:%d" host port |> Cstruct.of_string
-             ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
-     ocamlopt lib/.balancer.objs/balancer__Serverset.{cmx,o}
- File "lib/serverset.ml", line 97, characters 4-48:
- 97 |     React.E.map (fun nodes -> update t nodes ) e;
-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/serverset.ml", line 129, characters 4-48:
- 129 |     React.E.map (fun nodes -> update t nodes ) e;
-           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/serverset.ml", line 209, characters 4-28:
- 209 |     React.E.map (update t) e;
-           ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/serverset.ml", line 82, characters 10-11:
- 82 |       let e = to_nodes s in
-                ^
- Warning 26 [unused-var]: unused variable e.
-     ocamlopt lib/.balancer.objs/balancer__Distributor.{cmx,o}
- File "lib/distributor.ml", line 78, characters 4-25:
- 78 |     Counter64.incr n.load;     
-          ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 81, characters 6-27:
- 81 |       Counter64.decr n.load; 
-            ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 106, characters 6-28:
- 106 |       RRQueue.add state node;
-             ^^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 196, characters 4-25:
- 196 |     Counter64.incr n.load ;
-           ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 199, characters 6-27:
- 199 |       Counter64.decr n.load;
-             ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 237, characters 4-25:
- 237 |     Counter64.incr n.load ;
-           ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
- File "lib/distributor.ml", line 240, characters 8-29:
- 240 |         Counter64.decr n.load;
-               ^^^^^^^^^^^^^^^^^^^^^
- Warning 10 [non-unit-statement]: this expression should have type unit.
-> compiled  balancer.1.0
-> installed balancer.1.0

=== STDERR ===

2026-06-16 14:19.01: OK: build balancer.1.0 (runc: 2.6s, disk: 14KB)
2026-06-16 14:19.01: Job succeeded