dolthub / dolthub/dolt

`dolt` can leave behind large files containing telemetry data and never cleans them up.

Open
#10,021 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
24.4k
Forks
873
Avg merge
1d 8h
Merged PRs (30d)
120

Description

By default, Dolt is configure to capture usage telemetry data. It captures it to files in the `.dolt/eventsData` directory and it uploads them asynchronously when the process shuts down. If Dolt is running in an operational context where these uploads fail, it does not delete the files. This results in the accumulation of useless files. Depending on the version of Dolt and what operations are run, these telemetry files can also be needlessly verbose, and consequently quite large.

For example:

```
[root@ip-10-132-168-158 mount]# find . -type f -exec ls -lh {} + 2>/dev/null | sort -k5 -hr | head -n 3
-rwxr-xr-x 1 root root 271M Jan 25 2025 ./.dolt/eventsData/kF394yqTfhSAlpwUOlMyeg.devts
-rwxr-xr-x 1 root root 233M Feb 7 2025 ./.dolt/eventsData/71lTjyjj677UZD5QMBu6BQ.devts
-rwxr-xr-x 1 root root 207M Feb 10 2025 ./.dolt/eventsData/1o-x2dfRZ7ZnC7JtI9wJpg.devts
```

Dolt should not do this.

Possible customer work arounds include:

1) Disable telemetry metrics in settings. Either globally: `dolt config --global --set metrics.disabled true`, or locally, in the data dir: `dolt config --local --set metrics.disabled true`

2) Periodically clean up stale files: `find .dolt -name '*.devts' -mtime +7 -exec rm \{\} \;`

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing Dolt's telemetry capture and asynchronous upload handling for files under .dolt/eventsData, including the metrics.disabled configuration path. Reproduce a failed upload if possible and verify that stale .devts files are removed rather than accumulating; the cleanup behavior should remain safe when telemetry is disabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases, observability-sre
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.