[PR #9729] [CLOSED] Fix meilisearch database incompatibility during Wanderer updates #8229

Closed
opened 2026-02-26 16:32:13 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE/pull/9729
Author: @Copilot
Created: 12/6/2025
Status: Closed

Base: mainHead: copilot/fix-wanderer-meilisearch-issue


📝 Commits (5)

  • a57d379 Initial plan
  • 13e723d Add meilisearch database migration handling with --experimental-dumpless-upgrade flag
  • 2e47b22 Increase migration wait time and improve user message
  • 4154e34 Add validation and error handling for meilisearch migration process
  • 9332d93 Add comment explaining wait time and improve stop service validation

📊 Changes

1 file changed (+49 additions, -1 deletions)

View changed files

📝 ct/wanderer.sh (+49 -1)

📄 Description

✍️ Description

Meilisearch updates fail with database version incompatibility errors, preventing service startup. The fix implements automatic database migration using meilisearch's --experimental-dumpless-upgrade flag during updates.

Implementation:

  • Modified ct/wanderer.sh meilisearch update section to:
    • Temporarily inject --experimental-dumpless-upgrade flag into start.sh
    • Start service to perform migration, wait 30s for completion
    • Remove flag and restart in normal mode
    • Validate each step (grep pattern checks, systemctl status verification)
    • Exit with error if any operation fails

Migration flow:

# Before migration
meilisearch --master-key $KEY

# During migration (temporary)
meilisearch --experimental-dumpless-upgrade --master-key $KEY

# After migration (restored)
meilisearch --master-key $KEY

Follows meilisearch Option 1 migration strategy.

(Issue link handled by system)

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.
Original prompt

This section details on the original issue you should resolve

<issue_title>Wanderer update breaks meilisearch</issue_title>
<issue_description>### Have you read and understood the above guidelines?

yes

🔎 Did you run the script with verbose mode enabled?

Yes, verbose mode was enabled and the output is included below

📜 What is the name of the script you are using?

Wanderer

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/wanderer.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 13

📈 Which Proxmox version are you on?

pve-manager/9.0.11/3bf5476b8a4699e2

📝 Provide a clear and concise description of the issue.

After updating wanderer, the meilisearch instance reports an incompatible database. This prevents the service from starting.
To solve the issue, as per the meilisearch update gide , there are two options.
Option 1: Change the start command in /opt/wanderer/start.sh from
cd /opt/wanderer/source/search && meilisearch --master-key
to
cd /opt/wanderer/source/search && meilisearch --experimental-dumpless-upgrade --master-key
Then, restart the service. After the succesfull restart, change the command back to the original, do not restart the service again before the the database upgrade has completed (a restart is not needed and wanderer can be used normally).
Option 2: Import a dump. If a dump of your database has previously been created. The dump can be imported. Be aware that the database location has to be removed for this method to work, otherwise it will detect the previous database in this location and exit with an error.

🔄 Steps to reproduce the issue.

Update to a newer version of meilisearch

Paste the full error output (if available).

Service output log after update:

ERROR meilisearch: error=Your database version (1.28.1) is incompatible with your current engine version (1.28.2).
To migrate data between Meilisearch versions, please follow our guide on https://www.meilisearch.com/docs/learn/update_and_migration/updating.

🖼️ Additional context (optional).

No response</issue_description>

Comments on the Issue (you are @copilot in this section)


Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE/pull/9729 **Author:** [@Copilot](https://github.com/apps/copilot-swe-agent) **Created:** 12/6/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `copilot/fix-wanderer-meilisearch-issue` --- ### 📝 Commits (5) - [`a57d379`](https://github.com/community-scripts/ProxmoxVE/commit/a57d37950bbe74c15f5f475d1c4ac2e315d85adb) Initial plan - [`13e723d`](https://github.com/community-scripts/ProxmoxVE/commit/13e723da916e4f1f63a65331af3c46ef1a6b75cd) Add meilisearch database migration handling with --experimental-dumpless-upgrade flag - [`2e47b22`](https://github.com/community-scripts/ProxmoxVE/commit/2e47b22b6931f3985d6af03038174094ee746558) Increase migration wait time and improve user message - [`4154e34`](https://github.com/community-scripts/ProxmoxVE/commit/4154e347036db2a5f2f13adc945d23bbfe0abe2d) Add validation and error handling for meilisearch migration process - [`9332d93`](https://github.com/community-scripts/ProxmoxVE/commit/9332d93414e93cc47bd10ca14acecc089f86c1a8) Add comment explaining wait time and improve stop service validation ### 📊 Changes **1 file changed** (+49 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `ct/wanderer.sh` (+49 -1) </details> ### 📄 Description ## ✍️ Description Meilisearch updates fail with database version incompatibility errors, preventing service startup. The fix implements automatic database migration using meilisearch's `--experimental-dumpless-upgrade` flag during updates. **Implementation:** - Modified `ct/wanderer.sh` meilisearch update section to: - Temporarily inject `--experimental-dumpless-upgrade` flag into start.sh - Start service to perform migration, wait 30s for completion - Remove flag and restart in normal mode - Validate each step (grep pattern checks, systemctl status verification) - Exit with error if any operation fails **Migration flow:** ```bash # Before migration meilisearch --master-key $KEY # During migration (temporary) meilisearch --experimental-dumpless-upgrade --master-key $KEY # After migration (restored) meilisearch --master-key $KEY ``` Follows [meilisearch Option 1 migration strategy](https://www.meilisearch.com/docs/learn/update_and_migration/updating). ## 🔗 Related Issue (Issue link handled by system) ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [x] **Tested thoroughly** – Changes work as expected. - [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [x] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [ ] ✨ **New feature** – Adds new, non-breaking functionality. - [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs. <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>Wanderer update breaks meilisearch</issue_title> > <issue_description>### ✅ Have you read and understood the above guidelines? > > yes > > ### 🔎 Did you run the script with verbose mode enabled? > > Yes, verbose mode was enabled and the output is included below > > ### 📜 What is the name of the script you are using? > > Wanderer > > ### 📂 What was the exact command used to execute the script? > > bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/wanderer.sh)" > > ### ⚙️ What settings are you using? > > - [x] Default Settings > - [x] Advanced Settings > > ### 🖥️ Which Linux distribution are you using? > > Debian 13 > > ### 📈 Which Proxmox version are you on? > > pve-manager/9.0.11/3bf5476b8a4699e2 > > ### 📝 Provide a clear and concise description of the issue. > > After updating wanderer, the meilisearch instance reports an incompatible database. This prevents the service from starting. > To solve the issue, as per the meilisearch [update gide ](https://www.meilisearch.com/docs/learn/update_and_migration/updating), there are two options. > Option 1: Change the start command in /opt/wanderer/start.sh from > `cd /opt/wanderer/source/search && meilisearch --master-key ` > to > `cd /opt/wanderer/source/search && meilisearch --experimental-dumpless-upgrade --master-key` > Then, restart the service. After the succesfull restart, change the command back to the original, do not restart the service again before the the database upgrade has completed (a restart is not needed and wanderer can be used normally). > Option 2: Import a dump. If a dump of your database has previously been created. The dump can be imported. Be aware that the database location has to be removed for this method to work, otherwise it will detect the previous database in this location and exit with an error. > > ### 🔄 Steps to reproduce the issue. > > Update to a newer version of meilisearch > > ### ❌ Paste the full error output (if available). > > Service output log after update: > ``` > ERROR meilisearch: error=Your database version (1.28.1) is incompatible with your current engine version (1.28.2). > To migrate data between Meilisearch versions, please follow our guide on https://www.meilisearch.com/docs/learn/update_and_migration/updating. > ``` > > ### 🖼️ Additional context (optional). > > _No response_</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes community-scripts/ProxmoxVE#9727 <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/community-scripts/ProxmoxVE/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 16:32:13 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ProxmoxVE#8229
No description provided.