Commit Graph

3673 Commits

Author SHA1 Message Date
Zhengchao An fe0227e9dc refactor: remove app storage wildcard imports (#3851) 2026-06-25 15:10:51 +08:00
cxymds 55cbfe256b fix(heal): skip scanner object-dir recreate misses (#3839) 2026-06-25 14:52:24 +08:00
GatewayJ 06fdbecf9d fix(s3tables): harden warehouse index races (#3849) 2026-06-25 14:35:24 +08:00
cxymds 4cb28abfc9 fix(scanner): reduce non-actionable scan noise (#3840) 2026-06-25 14:35:10 +08:00
Zhengchao An bfb2a95e3d refactor: route admin context imports (#3848) 2026-06-25 14:27:25 +08:00
Zhengchao An 46fa28f542 refactor: centralize root runtime sources (#3846) 2026-06-25 13:19:52 +08:00
Zhengchao An 1c4bcd4372 refactor: centralize admin runtime sources (#3845) 2026-06-25 13:09:02 +08:00
Henry Guo 1c4a279909 feat(table-catalog): add durable strong backing (#3836) 2026-06-25 12:22:30 +08:00
Zhengchao An 928074a97d refactor: centralize server storage runtime sources (#3843) 2026-06-25 12:20:53 +08:00
Zhengchao An 839cab47ce refactor: centralize startup runtime sources (#3838) 2026-06-25 11:31:38 +08:00
GatewayJ fe5961cc16 fix(s3tables): harden warehouse index consistency (#3835) 2026-06-25 11:31:25 +08:00
Henry Guo 1d6a8259c5 feat(table-catalog): add partition-local compaction (#3832)
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
2026-06-25 11:14:40 +08:00
Zhengchao An 873aea21ca refactor: centralize app context runtime fallbacks (#3837) 2026-06-25 11:00:42 +08:00
Rokton 758677dafe fix(heal): Add podAnnotations to statefulset and deployment templates (#3831) 2026-06-25 09:39:11 +08:00
cxymds e6f04bed47 fix(heal): skip missing object-dir candidates (#3834) 2026-06-25 09:38:08 +08:00
cxymds c6ef37d5a7 fix(server): handle MinIO cluster health probe (#3833) 2026-06-25 09:37:57 +08:00
Zhengchao An ad6184b126 refactor: centralize iam runtime source helpers (#3828) 2026-06-24 22:49:24 +08:00
Zhengchao An a935854b32 refactor: centralize scanner runtime source helpers (#3827)
* refactor: batch lifecycle runtime source handles

* refactor: centralize scanner runtime source helpers
2026-06-24 22:05:03 +08:00
Zhengchao An 5cc8bd7952 refactor: centralize ecstore rpc test runtime sources (#3818) 2026-06-24 21:18:22 +08:00
Henry Guo 90f6371e29 fix(scanner): clear deleted bucket usage stats (#3822)
* fix(scanner): clear deleted bucket usage stats

* fix(scanner): preserve usage timestamp on bucket cleanup

---------

Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
2026-06-24 21:08:32 +08:00
houseme 623fc801f1 feat(replication): support custom TLS for bucket targets (#3825)
* feat(replication): support insecure https bucket targets

* feat(replication): support custom ca bucket targets

* test(replication): satisfy e2e clippy for TLS helpers

* fix(replication): avoid native root panic for custom trust stores

* test(replication): decouple private IP target test from TLS roots

* test(replication): use target TLS client in private IP unit test
2026-06-24 20:23:20 +08:00
Henry Guo fcd0c9ec0f test(table-catalog): add atomic catalog backing fixture (#3821) 2026-06-24 19:05:13 +08:00
houseme efebcb66be feat(perf): add large PUT tuning and encode optimization (#3816) 2026-06-24 19:04:04 +08:00
houseme 3c6e9acfcb fix: route cluster imports through ecstore_cluster module (#3819) 2026-06-24 19:03:31 +08:00
cxymds 0ffd561daf fix(health): decouple liveness and lock RPC deadlines (#3824) 2026-06-24 18:34:51 +08:00
cxymds 57e12e56d2 fix(admin): correct pool lifecycle status mapping (#3823) 2026-06-24 17:05:07 +08:00
cxymds eef8f43251 fix: harden lock timeouts, health, and heal paths (#3815) 2026-06-24 15:48:06 +08:00
Zhengchao An 94034ef406 refactor: centralize ecstore batch sources and aliases (#3817) 2026-06-24 14:12:48 +08:00
houseme cbf526df87 refactor(admin): migrate OIDC consumers to app context (#3800) 2026-06-24 12:51:53 +08:00
GatewayJ 89dfb1357c fix(s3tables): harden catalog guard checks (#3801) 2026-06-24 12:51:40 +08:00
houseme 31b5db9a75 feat(admin): expose cluster snapshot view (#3803) 2026-06-24 12:51:26 +08:00
cxymds 5eda332fee fix(heal): recover shards after node rejoin (#3814) 2026-06-24 12:51:16 +08:00
Zhengchao An aa089f18f2 refactor: centralize ecstore accessor runtime sources (#3813) 2026-06-24 11:05:30 +08:00
Zhengchao An 1a8ff1ea3e refactor: centralize ecstore setup runtime sources (#3812) 2026-06-24 10:41:33 +08:00
Hiroaki KAWAI 55b402ec2e fix(scanner): avoid retrying usage-cache lock failures (#3809)
Avoid retrying scanner cache lock failures
2026-06-24 10:22:43 +08:00
Hiroaki KAWAI fb06897650 fix(lock): respect requested acquire timeout (#3804)
Respect requested lock acquire timeout

Co-authored-by: cxymds <cxymds@gmail.com>
2026-06-24 10:22:25 +08:00
Zhengchao An 6b1b3800d7 refactor: centralize ecstore owner runtime sources (#3811) 2026-06-24 10:00:36 +08:00
Zhengchao An 3f624bf06c refactor: centralize ecstore bucket runtime sources (#3810) 2026-06-24 09:41:11 +08:00
Zhengchao An 17ae335313 chore: split pre-pr quality gate (#3807) 2026-06-24 08:43:05 +08:00
Zhengchao An 5b6c486b13 refactor: centralize ecstore locality runtime sources (#3808) 2026-06-24 08:42:36 +08:00
Zhengchao An 1c04b86494 refactor: centralize ecstore bucket runtime sources (#3806) 2026-06-24 08:00:04 +08:00
cxymds c14a442586 fix(storage): harden rebalance and decommission state (#3730) 2026-06-24 07:59:39 +08:00
Zhengchao An 5046f788be refactor: centralize ecstore lifecycle runtime sources (#3805) 2026-06-24 07:23:13 +08:00
Zhengchao An 7e60432588 refactor: centralize ecstore runtime owner sources (#3798) 2026-06-24 06:34:06 +08:00
Zhengchao An 1735dcde9c refactor: centralize ecstore data-plane runtime sources (#3797) 2026-06-23 23:23:16 +08:00
Zhengchao An e59e1852ec refactor: centralize network client runtime sources (#3796) 2026-06-23 22:35:51 +08:00
Zhengchao An 726c26fa01 refactor: centralize RIO HTTP runtime sources (#3795) 2026-06-23 21:55:05 +08:00
houseme 0a00d8d500 perf(server): lighten internode data-plane stack (#3735)
* refactor(server): split internode dispatch scaffold

* test(server): cover internode dispatch prefix split

* refactor(server): name internode stack boundaries

* perf(server): skip internode request logging layer

* perf(server): skip internode trace layer

* perf(server): use lite internode request context

* feat(metrics): track internode rpc duration

* feat(ecstore): add put object stage summary logs

* test(metrics): update internode descriptor expectations

* fix(server): tighten internode path matching

* fix(pr): address review follow-up comments

* style(ecstore): simplify commit tail duration field

* refactor(ecstore): group put stage summary fields

* refactor(ecstore): inline put stage summary log

* fix(s3): return storage class for object attributes

* merge: sync latest main and resolve object attributes conflict

* fmt

* fix(server): remove duplicate rpc imports

* build(deps): bump memmap2 for RUSTSEC-2026-0186

* fix(s3select): align object_store with datafusion

* chore(deps): prune workspace dependencies

* perf(fuzz): optimize CI runtime with build/run split and matrix parallelization

  Separate fuzz harness compilation from execution to eliminate redundant
  builds across targets. Introduce matrix-based parallel execution for
  PR smoke and nightly fuzz jobs.

  Changes:

  - Split CI workflow into `fuzz-build` (compile once) and matrix run jobs
    (`pr-fuzz-smoke`, `nightly-fuzz-corpus`) that execute targets in parallel
  - Add `BUILD_ONLY` mode to run_ci_targets.sh / run_nightly_targets.sh
  - Add run_single_target.sh for matrix jobs (no build phase)
  - Optimize `local_metadata` fuzz target: reduce prefix iterations from
    8-10 (4 functions each) to 5 critical prefixes (parser-only), cutting
    per-iteration cost by ~3-5x
  - Move archive path validation (`validate_extract_relative_path`,
    `normalize_extract_entry_key`) from `rustfs` to `rustfs-utils::path`,
    eliminating `rustfs` binary crate dependency from fuzz harness
  - Remove `rustfs` from fuzz/Cargo.toml (drops significant transitive deps)
  - Add unit tests for archive path validation in rustfs-utils
  - Update fuzz/README.md with new workflow and script documentation

  Expected CI improvement: PR smoke wall-clock from ~120min (frequent
  timeout) to ~40min; nightly from ~180min to ~60min.

* refactor(fuzz): consolidate scripts and fix prefix test alignment

Replace three duplicated shell scripts (run_ci_targets.sh,
run_nightly_targets.sh, run_single_target.sh) with a single
parameterized run.sh that supports BUILD_ONLY, SKIP_BUILD, and
MAX_TOTAL_TIME environment variables.

Fix local_metadata fuzz target prefix testing: replace always-true
'len > 0' guard with lengths aligned to xl.meta binary layout
(4/5/8/12 bytes for magic+version+header fields). Remove redundant
empty-slice test.

Hoist RUSTFLAGS to workflow top-level env to eliminate per-job
duplication. Update README with unified script documentation.

Net: -118 lines, zero functionality loss.

* perf(fuzz): optimize CI runtime with build/run split and matrix parallelization

Restructure fuzz CI workflow to eliminate redundant compilation and
run targets in parallel via matrix strategy.

Workflow changes:
- Split into fuzz-build (compile once) and matrix run jobs
- PR smoke: 3 targets parallel, 60s each, timeout 30min (was 120min)
- Nightly: 3 targets parallel, 300s each, timeout 60min (was 180min)
- Pass compiled harness via actions/artifact between jobs
- Hoist RUSTFLAGS to workflow top-level env

Script consolidation:
- Replace 3 duplicated scripts with single parameterized run.sh
- Supports BUILD_ONLY, SKIP_BUILD, MAX_TOTAL_TIME env vars

Target optimizations:
- Remove rustfs binary crate from fuzz dependencies (was pulling
  979 transitive deps); move archive path validation to rustfs-utils
- Optimize local_metadata: reduce prefix iterations from 8-10x4
  calls to 5 prefixes with parser-only (no decompress), aligned
  with xl.meta binary layout (4/5/8/12 bytes)
- Add unit tests for archive path validation in rustfs-utils
- Update fuzz/README.md with unified script documentation

Expected: PR smoke wall-clock from ~120min (frequent timeout)
to ~40min; nightly from ~180min to ~60min.

* fix(rpc): resolve internode metrics via app context

* fmt

* ci: speed up fuzz smoke artifact restore

---------

Signed-off-by: houseme <housemecn@gmail.com>
2026-06-23 21:36:39 +08:00
Henry Guo 7bdb25ae9d feat(scanner): define replication boundary contract (#3630)
* feat(scanner): define replication boundary contract

* fix(scanner): propagate replication boundary metrics

* fix(scanner): preserve repair metadata on merge

---------

Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
Co-authored-by: houseme <housemecn@gmail.com>
2026-06-23 21:35:36 +08:00
唐小鸭 eff656e086 fix(storage): restore legacy SSE-S3 read compatibility (#3584)
* Update .gitignore

* Fix. fixed SSE-S3 compatibility issues in large-scale testing

* fix

* fix(ecstore): reject whitespace bucket names

* Update replication_extension_test.rs

* style(ecstore): format bucket whitespace test

---------

Co-authored-by: houseme <housemecn@gmail.com>
Co-authored-by: cxymds <cxymds@gmail.com>
2026-06-23 21:35:17 +08:00