quickwit-oss / quickwit

Cloud-native search engine for observability. An open-source alternative to Datadog, Elasticsearch, Loki, and Tempo.
https://quickwit.io
Other
7.31k stars 298 forks source link

Clone a single `Arc` when cloning code-generated services #5116

Closed guilload closed 1 month ago

guilload commented 1 month ago

Description

The code-generated service traits no longer require the implementations to be Clone and no longer use mutable methods. This is very similar to what is done in tonic. Stateful services must be implemented as actors (control plane) or use interior mutability (file-backed metastore, ingester, etc.).

How was this PR tested?

It compiles!

github-actions[bot] commented 1 month ago

On SSD:

Average search latency is 1.0x that of the reference (lower is better).
Ref run id: 2059, ref commit: f8994dff27dfd197850c8b932f86a506a2a25463
Link

On GCS:

Average search latency is 0.948x that of the reference (lower is better).
Ref run id: 2061, ref commit: f8994dff27dfd197850c8b932f86a506a2a25463
Link