Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm

use remove_weak for secondary rank indexes

*hopefully* reduces write amplification, read amplification, space amplification, and maybe even compaction stalls?

Changed files
+4 -2
ufos
+4 -2
ufos/src/storage_fjall.rs
··· 1222 1222 AllTimeRecordsKey::new(new_creates_count.into(), &nsid).to_db_bytes()?, 1223 1223 ), 1224 1224 }; 1225 - batch.remove(&self.rollups, &old_k); // TODO: when fjall gets weak delete, this will hopefully work way better 1225 + // remove_weak is allowed here because the secondary ranking index only ever inserts once at a key 1226 + batch.remove_weak(&self.rollups, &old_k); 1226 1227 batch.insert(&self.rollups, &new_k, ""); 1227 1228 } 1228 1229 ··· 1246 1247 AllTimeDidsKey::new(new_dids_estimate.into(), &nsid).to_db_bytes()?, 1247 1248 ), 1248 1249 }; 1249 - batch.remove(&self.rollups, &old_k); // TODO: when fjall gets weak delete, this will hopefully work way better 1250 + // remove_weak is allowed here because the secondary ranking index only ever inserts once at a key 1251 + batch.remove_weak(&self.rollups, &old_k); 1250 1252 batch.insert(&self.rollups, &new_k, ""); 1251 1253 } 1252 1254