Build:
  1. 0
2026-09-03 20:05.07: New job: build balancer.1.0 (8d8cc00f951a)
2026-09-03 20:05.07: Waiting for resource in pool day11-builds
2026-09-03 22:00.40: Got resource from pool day11-builds
2026-09-03 22:00.40: [profile full] build balancer.1.0
2026-09-03 22:00.40: build balancer.1.0 (8d8cc00f951a)
=== DEPENDENCIES (21 transitive) ===
  base-bytes.base                                    68d84c459288
  base-threads.base                                  3d2f2cbc6db2
  base-unix.base                                     3a38ddca6b5e
  bigarray-compat.1.1.0                              3f4e163c0195
  cppo.1.8.0                                         8b34f9718c9c
  csexp.1.5.2                                        c758d7657e5b
  cstruct.6.0.1                                      64c3b8ffeb32
  dune.3.24.2                                        bf83cdf0a904
  dune-configurator.3.24.2                           23afe5cb4d3b
  fmt.0.11.0                                         5ca93ca97f7e
  hex.1.5.0                                          8ff2d4e19a91
  jbuilder.1.0+beta20.2                              d14840434490
  lwt.6.1.2                                          3072189ea5c2
  ocaml.4.14.4                                       c7d6265b51fe
  ocaml-base-compiler.4.14.4                         7a409b6ffbef
  ocaml-config.2                                     85edea6ac168
  ocamlbuild.0.16.1                                  5ae5ab4d19bf
  ocamlfind.1.9.8                                    3cae95bed0a0
  ocplib-endian.1.2                                  a626410be6a1
  react.1.2.2                                        f2eafcc220a4
  topkg.1.1.1                                        f1122af0988e
=== 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.
-     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__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.
-     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__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.
-       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__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.
-       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__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-09-03 22:01.23: OK: build balancer.1.0 (runc: 2.2s, disk: 15KB)
2026-09-03 22:01.23: Job succeeded