Repository navigation
Arc 26.09.4 #1588
xe-nvdk
announced in
Announcements
Arc 26.09.4
#1588
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Arc v26.09.4
Arc is a high-performance time series database built on DuckDB, Parquet and Arrow.
A patch release on 26.09.3. Everything else on
mainships in 27.01.1.Before you upgrade
every row that differs in any field. See the first section.
cluster.failover_enabledison, upgrade the writers too, because a writer can take over compaction.
sudo rpm --import https://github.com/basekick-labs/arc/releases/download/v26.09.4/RPM-GPG-KEY-basekick.again (the packages replace
/etc/arc/arc.toml).supported. 26.09.3 needed 2.38, so no system that ran 26.09.3 loses support.
Fixed: compaction no longer deletes rows that differ only in their field values (#1232)
Compaction deduplicates data that carries tag metadata (line protocol) and
continuous-query output. Up to 26.09.3 it kept one row per (tags, time),
or one row per time for tagless continuous-query output, and deleted the rest
whatever their field values. Which row survived was arbitrary, and in
practice it was usually the oldest. So compaction silently deleted:
value. The old value usually survived.
different fields (
usage=1, thentemp=5). One of them was dropped.Compaction now removes a row only when another row is identical to it in
every column: time, every tag and every field.
Behaviour change: a re-sent point with a new value no longer replaces the
old one. Both rows are stored, and queries count both. Exact duplicates, such
as a client retrying the same write, are still collapsed.
Rows that 26.09.3 already deleted cannot be recovered by this release.
Clusters: only the node holding the compaction lease compacts, and every
other node pulls its output. Upgrading the compactor node therefore protects
the data, whatever version the writers and readers run. With
cluster.failover_enabled = true, a writer takes over compaction while thecompactor is down, so upgrade the writers too. Until then, a 26.09.3 writer
holding the lease still compacts the old way.
Continuous-query output without tag columns is now marked
arc:dedup_exact.The old key,
arc:dedup_time, is still read but no longer written, because26.09.3 deduplicates files carrying it on time alone. A file written by
26.09.4 is therefore never deduplicated by 26.09.3 after a rollback.
Cost: rows are compared in full only where their (tags, time) key
repeats, so compaction cost is close to before. A partition that is mostly
duplicates takes more memory to compact.
Fixed: the Linux packages run on Debian 12, Ubuntu 22.04, RHEL 9 and Amazon Linux 2023 (#1579)
The 26.09.3 Linux binary needed glibc 2.38, because it was built on the newest
GitHub runner:
.debinstalled and then failed to start(
version `GLIBC_2.38' not found).RHEL 9 it also needed a newer libstdc++ (
GLIBCXX_3.4.30) than the systemships.
arc-linux-amd64andarc-linux-arm64binaries had thesame floor.
The binaries are now built on Ubuntu 22.04 with libstdc++ linked in, so they
need only glibc 2.34 or newer and the system's
libgcc_s.2023, Fedora 35+, on amd64 and arm64.
The
.debdeclaresDepends: libc6 (>= 2.34), libgcc-s1, sodpkgrefusesan older system up front. The RPM declares
Requires(pre): shadow-utilsforminimal images.
Every release now:
Amazon Linux 2023 and Fedora before publishing.
Changed: the RPMs are signed
rpm 6.1, which Fedora 45 ships, refuses an unsigned package by default
(
%_pkgverify_level all), and every Arc RPM up to 26.09.3 was unsigned:package arc-26.09.3-1.x86_64 does not verify: no signature.The RPMs (
arcandarc-fips) are now signed with the Basekick Labs packagekey:
3E39 9CF8 F5D2 EF9A A9A5 36EF 7629 7AF0 8CBA B6FE.RPM-GPG-KEY-basekick, and in the repository atdeploy/packaging/RPM-GPG-KEY-basekick.Import it once, then install:
dnf install ./file.rpmalso installs the older unsigned RPMs, with awarning. arcli's RPMs are signed with the same key from its next release.
Changed: continuous queries are enabled in the packaged configuration
The
arc.tomlshipped in the.deb, the RPM, the Arch package and the Dockerimage set
[continuous_query] enabled = false, unlike the code default andthe documentation. On a fresh package install, every continuous-query API call
answered 404 and every
arcli cqcommand failed with "continuous queries aredisabled on this server".
It is now
enabled = true. No continuous query runs until one is created.The 26.09.x packages replace
/etc/arc/arc.tomlon upgrade, so an upgrade to26.09.4 enables continuous queries unless the file is edited back. To keep them
off, set
[continuous_query] enabled = falseorARC_CONTINUOUS_QUERY_ENABLED=false.Security: a crafted zstd request can no longer crash Arc; Go 1.26.10 and dependency updates
klauspost/compressup to 1.20.1 panics on a crafted ~27 KB zstd frame(GHSA-fpmh-frq8-7rj8,
GO-2026-6865). Arc decoded zstd write bodies on a goroutine of its own,
where the panic cannot be recovered. So any client allowed to write, or
anyone when auth is off, could stop the process with one POST to a write
endpoint. Fixed by
klauspost/compress1.20.4.net/http,net/textproto,crypto/tls,crypto/x509andhtml/template.golang.org/x/net0.60.0 fixes HTTP/2 server issues.andybalholm/brotli1.2.7 fixes excessive allocation on craftedstreams (GO-2026-6888).
govulncheckreports no reachable vulnerabilities in this release.Performance note (arm64):
klauspost/compress1.20 encodes snappy onarm64 with new assembly, and every Parquet file Arc writes is
snappy-compressed. On an Apple M3 Max with 1.20.3, line-protocol ingest was
3.2% slower and MessagePack+gzip unchanged, with files 2-4% larger
(klauspost/compress#1271).
1.20.2 is the first release with the security fix, so there is no version
without this cost. Recovering it with smaller Parquet pages is tracked in
#1582.
Quick Start
Docker
Debian/Ubuntu (amd64, arm64)
RHEL/Fedora/Rocky (x86_64, aarch64)
Arch Linux / Omarchy (x86_64, aarch64)
Kubernetes (Helm)
Download Artifacts
ghcr.io/basekick-labs/arc:26.09.4arc_26.09.4_amd64.debarc_26.09.4_arm64.debarc-26.09.4-1.x86_64.rpmarc-26.09.4-1.aarch64.rpmarc-26.09.4-1-x86_64.pkg.tar.zstarc-26.09.4-1-aarch64.pkg.tar.zstarc-26.09.4.tgz(Helm)Documentation
Community
This discussion was created from the release Arc 26.09.4.
All reactions