Skip to content

Corrupted file error in multiprocessing mode #996

@tjb9dc

Description

@tjb9dc

We recently upgraded from 0.16.0 to 0.19.0 (to get the mostrecent addition in #967) and are running into the following error when calling generate_latest() after restarting our server:

  File "python3.10/site-packages/prometheus_client/exposition.py", line 251, in generate_latest
    for metric in registry.collect():
  File "python3.10/site-packages/prometheus_client/registry.py", line 97, in collect
    yield from collector.collect()
  File "python3.10/site-packages/prometheus_client/multiprocess.py", line 158, in collect
    return self.merge(files, accumulate=True)
  File "python3.10/site-packages/prometheus_client/multiprocess.py", line 43, in merge
    metrics = MultiProcessCollector._read_metrics(files)
  File "python3.10/site-packages/prometheus_client/multiprocess.py", line 71, in _read_metrics
    for key, value, timestamp, _ in file_values:
  File "python3.10/site-packages/prometheus_client/mmap_dict.py", line 40, in _read_all_values
    raise RuntimeError('Read beyond file size detected, file is corrupted.')
RuntimeError: Read beyond file size detected, file is corrupted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions