Even though Replica is Online from availability perspective its data is inconsistent most likely. under replica topology it has state: Online and healthy: false which marks volume state: Degraded
{
"spec": {
"num_replicas": 3,
"size": 1073741824,
"sizeBdev": 1073741824,
"status": "Created",
"uuid": "ec4e66fd-3b33-4439-b504-d49aba53da25",
"policy": {
"self_heal": true
},
"thin": false,
"num_snapshots": 0,
"max_snapshots": 10,
"encrypted": false,
"labelVersion": 1
},
"state": {
"size": 1073741824,
"status": "Degraded",
"uuid": "ec4e66fd-3b33-4439-b504-d49aba53da25",
"health": {
"cleanShutdown": true,
"healthyReplicas": 2,
"cleanReplicas": 2,
"onlineHealthyReplicas": 2,
"onlineCleanReplicas": 2,
"liveHealthyReplicas": 0,
"allHealthyReplicasClean": true
},
"replica_topology": {
"87bca435-5767-4d0b-84c5-bc50b56aacaa": {
"node": "io-engine-3",
"pool": "pool-3",
"state": "Online",
"usage": {
"capacity": 1073741824,
"allocated": 1073741824,
"allocated_snapshots": 0,
"allocated_all_snapshots": 0
},
"healthy": false,
"encrypted": false
},
"769e821f-cc4e-4a1d-8b32-1dd12925d949": {
"node": "io-engine-1",
"pool": "pool-1",
"state": "Online",
"usage": {
"capacity": 1073741824,
"allocated": 1073741824,
"allocated_snapshots": 0,
"allocated_all_snapshots": 0
},
"healthy": true,
"encrypted": false
},
"b61d1e05-60ea-480e-871f-a5bc52462e1a": {
"node": "io-engine-2",
"pool": "pool-2",
"state": "Online",
"usage": {
"capacity": 1073741824,
"allocated": 1073741824,
"allocated_snapshots": 0,
"allocated_all_snapshots": 0
},
"healthy": true,
"encrypted": false
}
},
"usage": {
"capacity": 1073741824,
"allocated": 1073741824,
"allocated_replica": 1073741824,
"allocated_snapshots": 0,
"allocated_all_snapshots": 0,
"total_allocated": 3221225472,
"total_allocated_replicas": 3221225472,
"total_allocated_snapshots": 0
}
}
}
Describe the bug
When a published volume is unpublished. NexusInfo will have the list of children when it was being unpublished. When user scales up the volume a new replica/child is not part of the persisted NexusInfo.
Even though Replica is Online from availability perspective its data is inconsistent most likely. under replica topology it has
state: Onlineandhealthy: falsewhich marks volumestate: DegradedTo Reproduce
scale up the previously published volume
Expected behavior
Offline volume rebuild reconciler should handle this too. Preferably without waiting for the --offline-rebuild-grace-period. This is needed for Mayastor pool drain feature also.
Screenshots
NexusInfo (previous)
Additional Context:
Mayastor version: v2.11.1