Files
openobserve/src/api
Hengfei Yang 42e0d0448e fix: skip caching files below record threshold (#13297)
## Summary

- add `ZO_FILE_DOWNLOAD_MIN_RECORDS` with a default of 100 records
- skip undersized files before latest-file batch downloads and
background queue insertion
- apply the threshold consistently to Parquet and index files
- preserve caching when `records == 0`, which can represent missing
metadata from older gRPC senders

## Why

Downloading and caching very small files consumes queue capacity and
cache space without providing enough reuse benefit. Filtering them
before enqueueing avoids unnecessary download work.

## Impact

Files with a known positive record count below the configured threshold
are read from object storage without being added to the download cache.
A zero count is treated as unknown and remains cache-eligible; files at
or above the threshold keep the existing behavior.

## Validation

- `cargo fmt --all -- --check`
- focused minimum-record boundary test
- `cargo check -p search -p openobserve-core -p openobserve-api`
- `git diff --check`

Fixes #13288
2026-07-20 13:17:09 +00:00
..

openobserve-api

openobserve-api is the transport frontend for OpenObserve. It composes the HTTP and gRPC handlers, routers, OpenAPI schemas, and rate-limit path mappings used by the server binary.

Domain handlers are split into dedicated crates where possible:

  • openobserve-api-query for search, PromQL, and trace APIs.
  • openobserve-api-management for management APIs.
  • openobserve-api-common for shared HTTP types and extractors.
  • openobserve-core for application services and business logic.

This is an internal workspace crate and is not published independently. New business logic should normally be implemented in openobserve-core, leaving this crate responsible for transport composition.