mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 16:28:15 +00:00
Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/bucket-event-notification
# Conflicts: # Cargo.toml
This commit is contained in:
Vendored
+26
-12
@@ -20,19 +20,33 @@
|
||||
}
|
||||
},
|
||||
"env": {
|
||||
"RUST_LOG": "rustfs=debug,ecstore=info,s3s=debug"
|
||||
"RUST_LOG": "rustfs=debug,ecstore=info,s3s=debug",
|
||||
"RUSTFS_VOLUMES": "./target/volume/test{0...3}",
|
||||
"RUSTFS_ADDRESS": "[::]:9000",
|
||||
"RUSTFS_CONSOLE_ENABLE": "true",
|
||||
"RUSTFS_CONSOLE_ADDRESS": "[::]:9002",
|
||||
"RUSTFS_SERVER_DOMAINS": "localhost:9000",
|
||||
"RUSTFS_TLS_PATH": "./deploy/certs",
|
||||
"RUSTFS_OBS_CONFIG": "./deploy/config/obs.example.toml",
|
||||
"RUSTFS__OBSERVABILITY__ENDPOINT": "http://localhost:4317",
|
||||
"RUSTFS__OBSERVABILITY__USE_STDOUT": "true",
|
||||
"RUSTFS__OBSERVABILITY__SAMPLE_RATIO": "2.0",
|
||||
"RUSTFS__OBSERVABILITY__METER_INTERVAL": "30",
|
||||
"RUSTFS__OBSERVABILITY__SERVICE_NAME": "rustfs",
|
||||
"RUSTFS__OBSERVABILITY__SERVICE_VERSION": "0.1.0",
|
||||
"RUSTFS__OBSERVABILITY__ENVIRONMENT": "develop",
|
||||
"RUSTFS__OBSERVABILITY__LOGGER_LEVEL": "info",
|
||||
"RUSTFS__SINKS__FILE__ENABLED": "true",
|
||||
"RUSTFS__SINKS__FILE__PATH": "./deploy/logs/rustfs.log",
|
||||
"RUSTFS__SINKS__WEBHOOK__ENABLED": "false",
|
||||
"RUSTFS__SINKS__WEBHOOK__ENDPOINT": "",
|
||||
"RUSTFS__SINKS__WEBHOOK__AUTH_TOKEN": "",
|
||||
"RUSTFS__SINKS__KAFKA__ENABLED": "false",
|
||||
"RUSTFS__SINKS__KAFKA__BOOTSTRAP_SERVERS": "",
|
||||
"RUSTFS__SINKS__KAFKA__TOPIC": "",
|
||||
"RUSTFS__LOGGER__QUEUE_CAPACITY": "10"
|
||||
|
||||
},
|
||||
"args": [
|
||||
"--access-key",
|
||||
"AKEXAMPLERUSTFS",
|
||||
"--secret-key",
|
||||
"SKEXAMPLERUSTFS",
|
||||
"--address",
|
||||
"0.0.0.0:9010",
|
||||
"--domain-name",
|
||||
"127.0.0.1:9010",
|
||||
"./target/volume/test{0...4}"
|
||||
],
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
{
|
||||
|
||||
+7
-3
@@ -173,6 +173,10 @@ inherits = "dev"
|
||||
inherits = "dev"
|
||||
|
||||
[profile.release]
|
||||
opt-level = 3 # Optimization Level (0-3)
|
||||
lto = true # Optimize when linking
|
||||
codegen-units = 1 # Reduce code generation units to improve optimization
|
||||
opt-level = 3
|
||||
lto = "thin"
|
||||
|
||||
[profile.production]
|
||||
inherits = "release"
|
||||
lto = "fat"
|
||||
codegen-units = 1
|
||||
|
||||
@@ -254,7 +254,11 @@ pub fn init_telemetry(config: &OtelConfig) -> OtelGuard {
|
||||
let filter_otel = match logger_level {
|
||||
"trace" | "debug" => {
|
||||
info!("OpenTelemetry tracing initialized with level: {}", logger_level);
|
||||
EnvFilter::new(logger_level)
|
||||
let mut filter = EnvFilter::new(logger_level);
|
||||
for directive in ["hyper", "tonic", "h2", "reqwest", "tower"] {
|
||||
filter = filter.add_directive(format!("{}=off", directive).parse().unwrap());
|
||||
}
|
||||
filter
|
||||
}
|
||||
_ => {
|
||||
let mut filter = EnvFilter::new(logger_level);
|
||||
|
||||
@@ -67,16 +67,3 @@ services:
|
||||
- ./target/x86_64-unknown-linux-musl/release/rustfs:/app/rustfs
|
||||
# - ./data/node3:/data
|
||||
command: "/app/rustfs"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2025-03-14T05:23:15.661154Z INFO ecstore::disk::os: reliable_rename rm dst failed. src_file_path: "/data/rustfs1/.rustfs.sys/tmp/c7fabb9c-48c8-4827-b5e2-13271c3867c3x1741929793/part.38", dst_file_path: "/data/rustfs1/.rustfs.sys/multipart/494d877741f5e87d5160dc4e1bd4fbdacda64559ea0b7d16cdbeed61f252b98f/a83dc20f-e73a-46d0-a02b-11b330ba6e7ex1741929773056730169/641d3efd-cca0-418e-983b-ca2d47652900/part.38", base_dir: "/data/rustfs1/.rustfs.sys/multipart", err: Os { code: 2, kind: NotFound, message: "No such file or directory" }
|
||||
at ecstore/src/disk/os.rs:144
|
||||
|
||||
2025-03-14T05:23:15.953116Z INFO ecstore::disk::os: reliable_rename rm dst failed. src_file_path: "/data/rustfs3/.rustfs.sys/tmp/e712821f-bc3f-4ffe-8a0c-0daa379d00d4x1741929793/part.39", dst_file_path: "/data/rustfs3/.rustfs.sys/multipart/494d877741f5e87d5160dc4e1bd4fbdacda64559ea0b7d16cdbeed61f252b98f/a83dc20f-e73a-46d0-a02b-11b330ba6e7ex1741929773056730169/641d3efd-cca0-418e-983b-ca2d47652900/part.39", base_dir: "/data/rustfs3/.rustfs.sys/multipart", err: Os { code: 2, kind: NotFound, message: "No such file or directory" }
|
||||
at ecstore/src/disk/os.rs:144
|
||||
|
||||
2025-03-14T05:23:15.953218Z INFO ecstore::disk::os: reliable_rename rm dst failed. src_file_path: "/data/rustfs2/.rustfs.sys/tmp/e712821f-bc3f-4ffe-8a0c-0daa379d00d4x1741929793/part.39", dst_file_path: "/data/rustfs2/.rustfs.sys/multipart/494d877741f5e87d5160dc4e1bd4fbdacda64559ea0b7d16cdbeed61f252b98f/a83dc20f-e73a-46d0-a02b-11b330ba6e7ex1741929773056730169/641d3efd-cca0-418e-983b-ca2d47652900/part.39", base_dir: "/data/rustfs2/.rustfs.sys/multipart", err: Os { code: 2, kind: NotFound, message: "No such file or directory" }
|
||||
at ecstore/src/disk/os.rs:144
|
||||
@@ -99,7 +99,7 @@ impl FileMeta {
|
||||
|
||||
Ok((bin_len, &buf[5..]))
|
||||
}
|
||||
#[tracing::instrument]
|
||||
|
||||
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64> {
|
||||
let i = buf.len() as u64;
|
||||
|
||||
@@ -711,7 +711,6 @@ impl FileMetaVersion {
|
||||
Ok(data_dir)
|
||||
}
|
||||
|
||||
#[tracing::instrument]
|
||||
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64> {
|
||||
let mut cur = Cursor::new(buf);
|
||||
|
||||
@@ -998,7 +997,7 @@ impl FileMetaVersionHeader {
|
||||
|
||||
Ok(wr)
|
||||
}
|
||||
#[tracing::instrument]
|
||||
|
||||
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64> {
|
||||
let mut cur = Cursor::new(buf);
|
||||
let alen = rmp::decode::read_array_len(&mut cur)?;
|
||||
@@ -1144,7 +1143,6 @@ pub struct MetaObject {
|
||||
}
|
||||
|
||||
impl MetaObject {
|
||||
#[tracing::instrument]
|
||||
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64> {
|
||||
let mut cur = Cursor::new(buf);
|
||||
|
||||
|
||||
@@ -344,7 +344,6 @@ impl CurrentScannerCycle {
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
#[tracing::instrument]
|
||||
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64> {
|
||||
let mut cur = Cursor::new(buf);
|
||||
|
||||
|
||||
+21
-20
@@ -695,7 +695,7 @@ impl ECStore {
|
||||
let at = a.object_info.mod_time.unwrap_or(OffsetDateTime::UNIX_EPOCH);
|
||||
let bt = b.object_info.mod_time.unwrap_or(OffsetDateTime::UNIX_EPOCH);
|
||||
|
||||
at.cmp(&bt)
|
||||
bt.cmp(&at)
|
||||
});
|
||||
|
||||
let mut def_pool = PoolObjInfo::default();
|
||||
@@ -911,29 +911,30 @@ impl ECStore {
|
||||
|
||||
// TODO: test order
|
||||
idx_res.sort_by(|a, b| {
|
||||
if let Some(obj1) = &a.res {
|
||||
if let Some(obj2) = &b.res {
|
||||
let cmp = obj1.mod_time.cmp(&obj2.mod_time);
|
||||
match cmp {
|
||||
// eq use lowest
|
||||
Ordering::Equal => {
|
||||
if a.idx < b.idx {
|
||||
Ordering::Greater
|
||||
} else {
|
||||
Ordering::Less
|
||||
}
|
||||
}
|
||||
_ => cmp,
|
||||
}
|
||||
} else {
|
||||
Ordering::Greater
|
||||
}
|
||||
let a_mod = if let Some(o1) = &a.res {
|
||||
o1.mod_time.unwrap_or(OffsetDateTime::UNIX_EPOCH)
|
||||
} else {
|
||||
Ordering::Less
|
||||
OffsetDateTime::UNIX_EPOCH
|
||||
};
|
||||
|
||||
let b_mod = if let Some(o2) = &b.res {
|
||||
o2.mod_time.unwrap_or(OffsetDateTime::UNIX_EPOCH)
|
||||
} else {
|
||||
OffsetDateTime::UNIX_EPOCH
|
||||
};
|
||||
|
||||
if a_mod == b_mod {
|
||||
if a.idx < b.idx {
|
||||
return Ordering::Greater;
|
||||
} else {
|
||||
return Ordering::Less;
|
||||
}
|
||||
}
|
||||
|
||||
b_mod.cmp(&a_mod)
|
||||
});
|
||||
|
||||
for res in idx_res {
|
||||
for res in idx_res.into_iter() {
|
||||
if let Some(obj) = res.res {
|
||||
return Ok((obj, res.idx));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user