mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-28 07:57:01 +00:00
chore: converge stale TODOs and apply safe fills (backlog#646) (#4322)
Second TODO-convergence round over the current tree (backlog#646). All line numbers in the old inventory had gone stale after the set_disk / diagnostics / cluster refactors, so this re-scans and reduces the marker count from 144 to 99. STALE removals (comment describes already-implemented behavior, or dead commented-out blocks) across ecstore (set_disk ops/core, store, cluster/rpc, bucket/metadata_sys, services), iam, filemeta, s3select and rustfs auth/object_usecase. No behavior change. Safe fills, each verified: - filemeta: replication_info_equals now also compares replication_state_internal (function currently has no callers; adds a regression test). - bitrot: drop the confirmed-unused `_want` parameter from bitrot_verify and the now-unused `sum` on LocalDisk::bitrot_verify, removing a Bytes::copy_from_slice allocation. Streaming verify uses the file's embedded per-shard hash, never the passed sum. - signer: rename v4_ignored_headers -> V4_IGNORED_HEADERS and drop the non_upper_case_globals allow. - admin/heal: test_decode was #[ignore]d and used serde_urlencoded on a JSON body (would panic); rewire to serde_json::from_slice to match the production decode path, add assertions, un-ignore. Verified: cargo fmt; cargo check on touched crates; tests pass (filemeta, signer, bitrot, heal::test_decode); arch guardrail scripts pass.
This commit is contained in:
@@ -918,7 +918,6 @@ fn decode_batch_read_version_response_items(
|
||||
Ok(batch_read_version_resps)
|
||||
}
|
||||
|
||||
// TODO: all api need to handle errors
|
||||
#[async_trait::async_trait]
|
||||
impl DiskAPI for RemoteDisk {
|
||||
#[tracing::instrument(skip(self))]
|
||||
@@ -1185,56 +1184,6 @@ impl DiskAPI for RemoteDisk {
|
||||
.await
|
||||
}
|
||||
|
||||
// // FIXME: TODO: use writer
|
||||
// #[tracing::instrument(skip(self, wr))]
|
||||
// async fn walk_dir<W: AsyncWrite + Unpin + Send>(&self, opts: WalkDirOptions, wr: &mut W) -> Result<()> {
|
||||
// let now = std::time::SystemTime::now();
|
||||
// info!("walk_dir {}/{}/{:?}", self.endpoint.to_string(), opts.bucket, opts.filter_prefix);
|
||||
// let mut wr = wr;
|
||||
// let mut out = MetacacheWriter::new(&mut wr);
|
||||
// let mut buf = Vec::new();
|
||||
// opts.serialize(&mut Serializer::new(&mut buf))?;
|
||||
// let mut client = node_service_time_out_client(&self.addr)
|
||||
// .await
|
||||
// .map_err(|err| Error::other(format!("can not get client, err: {}", err)))?;
|
||||
// let request = Request::new(WalkDirRequest {
|
||||
// disk: self.endpoint.to_string(),
|
||||
// walk_dir_options: buf.into(),
|
||||
// });
|
||||
// let mut response = client.walk_dir(request).await?.into_inner();
|
||||
|
||||
// loop {
|
||||
// match response.next().await {
|
||||
// Some(Ok(resp)) => {
|
||||
// if !resp.success {
|
||||
// if let Some(err) = resp.error_info {
|
||||
// if err == "Unexpected EOF" {
|
||||
// return Err(Error::Io(std::io::Error::new(std::io::ErrorKind::UnexpectedEof, err)));
|
||||
// } else {
|
||||
// return Err(Error::other(err));
|
||||
// }
|
||||
// }
|
||||
|
||||
// return Err(Error::other("unknown error"));
|
||||
// }
|
||||
// let entry = serde_json::from_str::<MetaCacheEntry>(&resp.meta_cache_entry)
|
||||
// .map_err(|_| Error::other(format!("Unexpected response: {:?}", response)))?;
|
||||
// out.write_obj(&entry).await?;
|
||||
// }
|
||||
// None => break,
|
||||
// _ => return Err(Error::other(format!("Unexpected response: {:?}", response))),
|
||||
// }
|
||||
// }
|
||||
|
||||
// info!(
|
||||
// "walk_dir {}/{:?} done {:?}",
|
||||
// opts.bucket,
|
||||
// opts.filter_prefix,
|
||||
// now.elapsed().unwrap_or_default()
|
||||
// );
|
||||
// Ok(())
|
||||
// }
|
||||
|
||||
#[tracing::instrument(skip(self))]
|
||||
async fn delete_version(
|
||||
&self,
|
||||
|
||||
Reference in New Issue
Block a user