A single urgent fix for the new store: metadata was written incorrectly when filled metadata area exceeded 4 GB due to a simple & stupid 32-bit integer overflow. This was leading to OSDs corrupting metadata and being unable to start on the next run. The bug affected only the new store (meta_format=3) and OSDs with metadata area size larger than 4 GB. You can check your OSD metadata area size by checking `data_offset` in `vitastor-disk read-sb /dev/vitastor/osdXX-data` for single-disk OSDs or `blockdev --getsize64 /dev/vitastor/osdXX-meta` for hybrid OSDs. If you're affected, it's highly recommended to: - Install updated packages without restarting OSDs - Restart OSDs **one by one** - If a restart of an OSD triggers "has_degraded" rebalance - wait for it to finish before restarting another OSD - If an OSD fails to start with "double-claimed" errors in the log - purge and recreate it, and again wait for "has_degraded" rebalance to finish before proceeding to the next OSD
25 lines
529 B
JSON
25 lines
529 B
JSON
{
|
|
"name": "vitastor-mon",
|
|
"version": "3.0.5",
|
|
"description": "Vitastor SDS monitor service",
|
|
"main": "mon-main.js",
|
|
"scripts": {
|
|
"lint": "eslint *.js lp_optimizer/*.js scripts/*.js"
|
|
},
|
|
"author": "Vitaliy Filippov",
|
|
"license": "UNLICENSED",
|
|
"dependencies": {
|
|
"antietcd": "^1.2.4",
|
|
"sprintf-js": "^1.1.2",
|
|
"ws": "^7.2.5"
|
|
},
|
|
"devDependencies": {
|
|
"eslint": "^8.0.0",
|
|
"eslint-plugin-import": "^2.29.1",
|
|
"eslint-plugin-node": "^11.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=12.0.0"
|
|
}
|
|
}
|