Skip to content

Repository files navigation

Weir

CI

A Linux-native durable event gateway with bounded admission and a segmented write-ahead log.

Weir event path from TCP admission through stable storage and sink dispatch

A successful acknowledgement means the event crossed Weir's configured stable-storage boundary.

ACK(event) means event.LSN is at or below durable_LSN

The sink runs after that boundary. A lost acknowledgement can still produce a duplicate after retry, so Weir does not claim exactly-once delivery.

Exploratory transport campaign

Connections epoll coroutine io_uring
1,000 149,895 events/s 140,244 events/s 147,389 events/s
10,000 118,600 events/s 107,159 events/s 117,947 events/s
20,000 121,833 events/s 108,476 events/s 98,575 events/s

The campaign used three 30-second samples per backend and connection level with a five-second warmup. It is directional evidence, not the five-minute publication baseline. The durable persistence path saturates before the transport choice, while io_uring trades fewer rejections for a worse latency tail in this configuration.

The node

  • Framed TCP ingress through epoll or io_uring readiness
  • Global and per-session admission limits
  • Group commit with an explicit sync policy
  • Versioned WAL records, CRC32C, rotation, and fail-closed recovery
  • Prometheus metrics across receive, queue, sync, acknowledgement, and sink stages

Weir owns one durable node. Replication, consensus, consumer groups, topics, and schema management belong elsewhere.

Build, run, operate, verify, and inspect recovery rules.

Build

See GUIDE.md for build presets and dependencies.

Verification

Functional CI and performance evidence are separate. See GUIDE.md and LAB_RULES.md / EVIDENCE.md in stra-ta/.github for manifest provenance and the one-command suite (./scripts/verify.sh / ./scripts/confidence.sh or tools/verify.sh).

Limitations

CI is functional only. Performance evidence requires a committed manifest with machine metadata (commit, compiler, kernel, CPU, arch, build type, seed, argv) and a link from the claim to that artifact. See stra-ta/.github for lab-wide caveats.

About

Linux event-processing engine for exploring nonblocking I/O, bounded concurrency, durability, and behavior under load

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages