milvus-io/talon

A distributed object store cache written in Rust

Hosted by LF AI & Data Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

milvus-io/talon has 20+ stars and 20+ forks on GitHub, is written in Rust, and was last pushed on Oct 16, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on October 15th, 2026
Created on July 15th, 2026
Open Issues & Pull Requests: 57 (+0)
GitHub issues: Enabled
Number of forks: 21
Total Stargazers: 28 (+0)
Total Subscribers: 2 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.4 hours
Mean response time: 10.5 hours
90th percentile: 18.5 hours
Tracked items: 234

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 18, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

How this project is maintained

About 12% of issues opened in the past year have never received a reply. Only 24% of open issues come from outside the core team — the tracker reads mainly as internal planning. Almost all tracked open issues have seen activity in the last three months. 83% of issues opened in the past year have been closed, leaving a working backlog. Three people close 100% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 46
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 61 days
Stale 30+ days: 43
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • kind/feature (128)
  • area/transport (61)
  • crate/worker (47)
  • crate/fuse (40)
  • crate/coordinator (29)
  • area/backend (26)
  • area/config (25)
  • bug (23)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Talon is a distributed object store cache written in Rust that eliminates per-file metadata rows by deriving namespace, file sizes, modification times, and directory structure directly from the object store's key listing.

Most caching filesystems maintain a metadata database with one row per file, which becomes a scaling bottleneck and single point of failure. Talon inverts this approach: any fact that can be rebuilt by listing the object store is not stored anywhere. File namespace, sizes, and directory structure come from the object store itself. Only features that genuinely cannot derive their state—such as hard links, POSIX locking, and write-back caching—use an optional, deliberately sparse metadata store. This design means a singly-linked, unlocked file costs zero metadata records, keeping the metadata store bounded by the features actually in use rather than by data volume. The tool reads without copying, using sendfile from NVMe to socket and splice from socket to NVMe on fill, driven by io_uring. A plain S3 client can read anything Talon writes, eliminating lock-in and migration friction.

Talon suits workloads where scaling and operational simplicity matter more than advanced POSIX semantics. It works well for read-heavy access patterns over large object stores where metadata overhead is a concern. The tool is appropriate for teams comfortable with optional metadata for advanced features and willing to trade some POSIX guarantees for a stateless, horizontally scalable cache. Coordinators run active-active with no recovery burden; losing a worker means a cache miss, not an outage. Access is available through FUSE mounts or language-specific SDKs in Python, Java, C, and Rust, with batch prewarming operations to load files across responsible workers.

Development activity shows sustained focus on performance measurement and real-world validation. The project publishes both loopback and cross-network throughput figures together, treating a change that improves one but not the other as unmeasured. Architectural decisions are documented through formal decision records, including the optional metadata store design. The codebase maintains multiple client implementations across different languages, indicating ongoing investment in usability across diverse environments.