dependabot[bot]
529c68a798
chore(deps): bump google.golang.org/api from 0.244.0 to 0.246.0 ( #7127 )
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.244.0 to 0.246.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases )
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.244.0...v0.246.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.246.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
dependabot[bot]
e3b15073a0
chore(deps): bump actions/checkout from 4 to 5 ( #7125 )
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
dependabot[bot]
5f62b11889
chore(deps): bump golang.org/x/sys from 0.34.0 to 0.35.0 ( #7124 )
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.34.0 to 0.35.0.
- [Commits](https://github.com/golang/sys/compare/v0.34.0...v0.35.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.35.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
dependabot[bot]
524c1916b6
chore(deps): bump github.com/redis/go-redis/v9 from 9.11.0 to 9.12.0 ( #7123 )
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis ) from 9.11.0 to 9.12.0.
- [Release notes](https://github.com/redis/go-redis/releases )
- [Changelog](https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md )
- [Commits](https://github.com/redis/go-redis/compare/v9.11.0...v9.12.0 )
---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
dependency-version: 9.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
dependabot[bot]
412fd6ee86
chore(deps): bump github.com/ydb-platform/ydb-go-sdk/v3 from 3.113.4 to 3.113.5 ( #7122 )
chore(deps): bump github.com/ydb-platform/ydb-go-sdk/v3
Bumps [github.com/ydb-platform/ydb-go-sdk/v3](https://github.com/ydb-platform/ydb-go-sdk ) from 3.113.4 to 3.113.5.
- [Release notes](https://github.com/ydb-platform/ydb-go-sdk/releases )
- [Changelog](https://github.com/ydb-platform/ydb-go-sdk/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ydb-platform/ydb-go-sdk/compare/v3.113.4...v3.113.5 )
---
updated-dependencies:
- dependency-name: github.com/ydb-platform/ydb-go-sdk/v3
dependency-version: 3.113.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
Chris Lu
605b3333c1
fix sftp start with filer ( #7120 )
* fix sftp start with filer
* add bindIp
6 months ago
Chris Lu
9265e81fe9
S3 API: unsigned streaming (no cred) but chunks contain signatures ( #7118 )
* This handles the case where we have unsigned streaming (no cred) but chunks contain signatures
* Update chunked_reader_v4.go
* address comments
6 months ago
chrislu
a265a07922
fix ttl objects
fix https://github.com/seaweedfs/seaweedfs/discussions/7107#discussioncomment-14069018
6 months ago
chrislu
f03f4383af
fix missing grpc dial option
6 months ago
chrislu
c57ccd554a
worker_pb.TaskParams_VacuumParams
6 months ago
chrislu
9df006b49d
fix min volume age
6 months ago
chrislu
424bb7fe11
showing criteria
6 months ago
chrislu
97d58e77c6
getting ec volume deletions
6 months ago
chrislu
553a229fd3
reduce lock scope
6 months ago
chrislu
57d025910d
cancel context
6 months ago
chrislu
213dd9b470
testing
6 months ago
chrislu
a31fc1ac01
Bypass compaction revision check to handle volumes compacted after task creation
6 months ago
chrislu
91d641e685
avoid dead lock
6 months ago
chrislu
740983d69e
Delete ec_test_files.json
6 months ago
chrislu
0e649f710a
collect deletion for ec shards
6 months ago
chrislu
772ee0f967
address comments
6 months ago
chrislu
0c6980182c
ec shards with generation
6 months ago
chrislu
47ea1ac228
unmount
6 months ago
chrislu
6446893e3c
metrics
6 months ago
chrislu
06c012ea60
Update maintenance_scanner.go
6 months ago
chrislu
5a6954be1b
sort
6 months ago
chrislu
0f1ca16457
more accurate estimation
6 months ago
chrislu
72f0a47563
CRITICAL: Check ALL task states for volume conflicts
Fix major scheduling bug where only active tasks were checked for conflicts.
Changes:
- Check PENDING tasks: Prevent scheduling if task is queued for same volume
- Check ASSIGNED/ACTIVE tasks: Prevent scheduling if task is running on same volume
- Check RECENT tasks: Prevent immediate re-scheduling on same volume after completion
This prevents dangerous scenarios like:
❌ Scheduling vacuum while another vacuum is pending on same volume
❌ Scheduling balance while erasure coding is queued for same volume
❌ Immediately re-scheduling failed tasks without cooldown period
Critical safety improvement ensuring comprehensive volume-level task isolation.
6 months ago
chrislu
751cfac7d7
Implement volume-aware task conflict checking
MAJOR IMPROVEMENT: Tasks now conflict by volume ID, not globally by task type
Changes:
- PRIMARY RULE: Tasks on the same volume ID always conflict (prevents race conditions)
- SECONDARY RULE: Minimal global task type conflicts (currently none)
- Add isDiskAvailableForVolume() for volume-specific availability checking
- Add GetAvailableDisksForVolume() and GetDisksWithEffectiveCapacityForVolume()
- Remove overly restrictive global task type conflicts
- Update planning functions to focus on capacity, not conflicts
Benefits:
✅ Multiple vacuum tasks can run on different volumes simultaneously
✅ Balance and erasure coding can run on different volumes
✅ Still prevents dangerous concurrent operations on same volume
✅ Much more efficient resource utilization
✅ Maintains data integrity and prevents race conditions
This addresses the user feedback that task conflicts should be volume-specific,
not global task type restrictions.
6 months ago
chrislu
5c1e6e904d
CRITICAL: Restore task conflict definitions to prevent data integrity issues
- Restore conflicts between vacuum, balance, erasure_coding, and ec_vacuum tasks
- Prevent dangerous concurrent operations on same volumes/resources
- Add comprehensive task conflict matrix to avoid race conditions
- This addresses a serious safety regression where all conflicts were removed
Critical conflicts restored:
- vacuum ↔ balance, erasure_coding, ec_vacuum
- balance ↔ vacuum, erasure_coding, ec_vacuum
- erasure_coding ↔ vacuum, balance, ec_vacuum
- ec_vacuum ↔ vacuum, balance, erasure_coding
- replication ↔ vacuum, balance (destructive ops)
6 months ago
chrislu
04e3a68b61
Replace deprecated ioutil with os package functions
- Replace ioutil.WriteFile with os.WriteFile
- Replace ioutil.ReadFile with os.ReadFile
- Remove deprecated io/ioutil import
- Aligns with Go 1.16+ best practices and modern Go standards
6 months ago
chrislu
c220ad1e69
Replace bubble sort with idiomatic sort.Slice in EC shard management
- Replace O(n²) bubble sort implementation with efficient sort.Slice
- More concise, readable, and performant for larger slices
- Uses idiomatic Go sorting pattern
6 months ago
chrislu
c9ca213d4c
Fix linter error in master_grpc_ec_generation_test.go
Remove orphaned code that was causing syntax error
6 months ago
chrislu
4ec743583d
Address PR #7116 review comments
- Fix CodeQL security issue: Add bounds checking for int64 to uint8 conversion in disk_location_ec.go
- Replace goto with idiomatic map approach in ec_shard_management.go
- Fix EC volume handling in maintenance_scanner.go: add support for EC-only volumes
- Fix test failures in master_grpc_ec_generation_test.go: handle raft leadership issues
6 months ago
chrislu
5bb475c572
Fixed CodeQL Security Issue
6 months ago
chrislu
cd75202da8
Replaced goto with Idiomatic Map Approach
6 months ago
chrislu
cdba261913
add safety check
6 months ago
chrislu
179bcb777e
Delete ec_vacuum_integration_test.go
6 months ago
chrislu
802267b281
validates all critical upgrade scenarios for the generation-aware EC vacuum system
6 months ago
chrislu
d6e335d6e2
Integration test: end-to-end vacuum G→G+1 with live reads (zero downtime)
6 months ago
chrislu
884da0496c
testing mixed generation
6 months ago
chrislu
60f975aa20
add unit tests
6 months ago
chrislu
a3d0509c92
logs
6 months ago
chrislu
2e51e1dab2
ec volume UI rendering version
6 months ago
chrislu
a187f103d1
normal volume CompactionRevision
6 months ago
chrislu
3087da07db
metrics with generation
6 months ago
chrislu
3ef8a9f3b2
Mixed-version cluster compatibility
6 months ago
chrislu
d326affc4f
default generation
6 months ago
chrislu
d341db8861
Update ec_vacuum_task.go
6 months ago
chrislu
cf5f0b8e74
cleanupGracePeriod
6 months ago