-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clair Postgres database storage space issue #2170
Comments
Storage for Postgres "deleted" rows is only available for reuse after a Postgres VACUUM has run. |
What does this mean in log. |
Does automatic vacuum of table "ClairBackend.public.vuln": index scans: 1 relates to starting GC in Clair. Also does below statement means DELETION is not happening |
The concept of VACUUM / AUTOVACUUM in Postgres is important here (and nothing to do with Clair) - take a look at docs maybe starting at https://www.postgresql.org/docs/current/routine-vacuuming.html |
Do we have any setting related to timeout as I see errors in log when method is DELETE |
So, excessive latency when deleting manifests was identified as an issue and dealt with here, I believe the earliest version it is available in is This change includes an index creation that you can choose to pre-create concurrently if you have a larger instance using the |
I'm not sure if this is related to the DB storage issue (i.e. the VACUUM isn't running for some reason due to these DELETEs being in-flight for a long time) but I echo what @frostmar said, checking how your DB is configured to (AUTO)VACUUM is likely going to be very useful. |
Description of Problem / Feature Request
Postgres Storage :1800 GiB
Clair Postgres database storage space gets full in 1 week span and then suddenly storage space is freed around 1TB.
This happens every week storage gets full and suddenly freed up at once.
Garbage collection is running daily.
Need to understand why storage space is getting full and GC is not able to clean up the space.
Environment:
clair:4.7.2
Combo Mode
config.yaml
introspection_addr: :8089
http_listen_addr: :8080
log_level: debug
indexer:
connstring: XXX
scanlock_retry: 10
layer_scan_concurrency: 5
migrations: true
matcher:
connstring: XXX
migrations: true
update_retention: 2
period:
matchers:
names:
updaters:
sets:
notifier:
connstring: XXX
delivery_interval: 1m
poll_interval: 5m
migrations: true
auth:
psk:
key: XXX
iss: ["quay"]
tracing and metrics
trace:
name: "jaeger"
probability: 1
jaeger:
agent:
endpoint: "localhost:6831"
service_name: "clair"
metrics:
name: "prometheus"
The text was updated successfully, but these errors were encountered: