loki Accept out-of-order writes

2023-12-14 19:14:25

Since the beginning of Loki, log entries had to be written to Loki in order by time. This limitation has been lifted. Out-of-order writes are enabled globally by default, but can be disabled/enabled on a cluster or per-tenant basis.

  • To disable out-of-order writes for all tenants, place in the limits_config section:

limits_config:
    unordered_writes: false

To disable out-of-order writes for specific tenants, configure a runtime configuration file:

runtime_config: overrides.yaml

In the overrides.yaml file, add unordered_writes for each tenant permitted to have out-of-order writes:

overrides:
  "tenantA":
    unordered_writes: false

How far into the past accepted out-of-order log entries may be is configurable with max_chunk_age. max_chunk_age defaults to 2 hour. Loki calculates the earliest time that out-of-order entries may have and be accepted with

time_of_most_recent_line - (max_chunk_age/2)

Log entries with timestamps that are after this earliest time are accepted. Log entries further back in time return an out-of-order error.

For example, if max_chunk_age is 2 hours and the stream {foo="bar"} has one entry at 8:00, Loki will accept data for that stream as far back in time as 7:00. If another log line is written at 10:00, Loki will accept data for that stream as far back in time as 9:00.

文章来源:https://blog.csdn.net/henanchina/article/details/134994273
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。