Skip to content

Commit 130d01a

Browse files
authored
fix: OutOfSpace partition status returning to online (#4529)
1 parent ad144f1 commit 130d01a

File tree

2 files changed

+6
-7
lines changed
  • crates
    • fluvio-controlplane-metadata/src/partition
    • fluvio-sc/src/controllers/partitions

2 files changed

+6
-7
lines changed

crates/fluvio-controlplane-metadata/src/partition/status.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,19 +111,18 @@ impl PartitionStatus {
111111
}
112112

113113
pub fn is_online(&self) -> bool {
114+
matches!(self.resolution, PartitionResolution::Online)
115+
}
116+
117+
pub fn is_readable(&self) -> bool {
114118
matches!(
115119
self.resolution,
116120
PartitionResolution::Online | PartitionResolution::OutOfStorage
117121
)
118122
}
119123

120124
pub fn is_offline(&self) -> bool {
121-
matches!(
122-
self.resolution,
123-
PartitionResolution::Offline
124-
| PartitionResolution::LeaderOffline
125-
| PartitionResolution::ElectionLeaderFound
126-
)
125+
self.resolution == PartitionResolution::Offline
127126
}
128127

129128
#[deprecated = "Replaced by lrs()"]

crates/fluvio-sc/src/controllers/partitions/reducer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ impl<C: MetadataItem> PartitionReducer<C> {
215215

216216
for partition_kv_epoch in self.partition_store.read().await.values() {
217217
let partition_kv = partition_kv_epoch.inner();
218-
if partition_kv.status.is_offline() {
218+
if !partition_kv.status.is_readable() {
219219
if partition_kv.spec.leader != online_leader_spu_id {
220220
// switch leader if online leader is different
221221
for replica_status in partition_kv.status.replica_iter() {

0 commit comments

Comments
 (0)