Skip to content
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

Sometimes VERSION files can be create empty #4584

Open
Kerollmops opened this issue Apr 18, 2024 · 2 comments
Open

Sometimes VERSION files can be create empty #4584

Kerollmops opened this issue Apr 18, 2024 · 2 comments
Labels
bug Something isn't working as expected

Comments

@Kerollmops
Copy link
Member

Kerollmops commented Apr 18, 2024

While debugging a brand new free trial plan with @nicolasvienot we noticed that Meilisearch couldn't start due to an empty VERSION file. It's very strange as it seems quite rare. However, it doesn't seem impossible as writing to this file is not as enforced as when we use LMDB. We could have missed a disk sync or something.

The VERSION file was never populated with anything as the issue appeared at creation time.

Meilisearch version:
We don't know the impacted version but at least before v1.7.4.

Additional context
It was running on the cloud, more specifically on Digital Ocean in a Kubernetes and Docker container.

@Kerollmops Kerollmops added the bug Something isn't working as expected label Apr 18, 2024
@irevoire
Copy link
Member

I rewrote this thing with the VERSION file in v0.30; there were some issues with it, which were fixed by patch releases.
And then, no one ever modified it, as far as I know.
So I’m pretty confident that all the versions since the v1.0 are impacted 😬

@Kerollmops Kerollmops assigned Kerollmops and unassigned Kerollmops Apr 22, 2024
@dureuill
Copy link
Contributor

dureuill commented May 2, 2024

Hello,

did we consider the option of writing the version in the main DB? If so, why was it rejected?

The advantage here is we could write the VERSION atomically when creating a main db.

Disadvantages: harder to read if it's in the DB, need a way to support both schemes for backward compat

Other possibility: handle an empty VERSION file as if there was no VERSION file at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working as expected
Projects
None yet
Development

No branches or pull requests

3 participants