Chris Lu
288ba5fec8
mount: let filer handle chunk deletion decision ( #7900 )
* mount: let filer handle chunk deletion decision
Remove chunk deletion decision from FUSE mount's Unlink operation.
Previously, the mount decided whether to delete chunks based on
its locally cached entry's HardLinkCounter, which could be stale.
Now always pass isDeleteData=true and let the filer make the
authoritative decision based on its own data. This prevents
potential inconsistencies when:
- The FUSE mount's cached entry is stale
- Race conditions occur between multiple mounts
- Direct filer operations change hard link counts
* filer: check hard link counter before deleting chunks
When deleting an entry, only delete the underlying chunks if:
1. It is not a hard link
2. OR it is the last hard link (counter <= 1)
This protects against data loss when a client (like FUSE mount)
requests chunk deletion for a file that has multiple hard links.
2 days ago
Chris Lu
69553e5ba6
convert error fromating to %w everywhere ( #6995 )
6 months ago
Aleksey Kosov
4511c2cc1f
Changes logging function ( #6919 )
* updated logging methods for stores
* updated logging methods for stores
* updated logging methods for filer
* updated logging methods for uploader and http_util
* updated logging methods for weed server
---------
Co-authored-by: akosov <a.kosov@kryptonite.ru>
6 months ago
Aleksey Kosov
283d9e0079
Add context with request ( #6824 )
7 months ago
chrislu
4fee496b49
conditional delete
1 year ago
chrislu
a8fa78b892
refactoring
1 year ago
chrislu
4e7d8eb3f1
small refactoring
1 year ago
chrislu
464611f614
optionally skip deleting file chunks
2 years ago
Nikita Borzykh
0d04264494
Move file deletion logging to v2 verbisity ( #5538 )
2 years ago
wusong
d6af3a8eb6
fix 404 not found ( #4536 )
Signed-off-by: wang wusong <wangwusong@virtaitech.com>
Co-authored-by: wang wusong <wangwusong@virtaitech.com>
3 years ago
chrislu
70a4c98b00
refactor filer_pb.Entry and filer.Entry to use GetChunks()
for later locking on reading chunks
3 years ago
chrislu
303bd067b5
Revert "rename: delete source entry metadata only, skipping hard links"
This reverts commit 03466f955e .
fix https://github.com/seaweedfs/seaweedfs/issues/3386
3 years ago
chrislu
26dbc6c905
move to https://github.com/seaweedfs/seaweedfs
3 years ago
chrislu
4fd5f96598
filer: remove replication, collection, disk_type info from entry metadata
these metadata can change and are not used
4 years ago
elee
423ce57cde
prefix search, bucket implemented
4 years ago
chrislu
03466f955e
rename: delete source entry metadata only, skipping hard links
4 years ago
chrislu
be3fc77391
mount2: use consistent inode
4 years ago
chrislu
9f9ef1340c
use streaming mode for long poll grpc calls
streaming mode would create separate grpc connections for each call.
this is to ensure the long poll connections are properly closed.
4 years ago
Chris Lu
0c8dea9de8
go fmt
4 years ago
Chris Lu
1b90d60765
filer: paginate large directories to delete file chunks
4 years ago
Chris Lu
f5824f369c
avoid reporting error when it is a user request error
4 years ago
Chris Lu
182288f860
filer: fix mysql, postgres batch delete error
5 years ago
Konstantin Lebedev
6aa1a56ec8
avoid crashes Galera Cluster
https://github.com/chrislusf/seaweedfs/issues/2125
5 years ago
Chris Lu
9357911a95
remove all bucket metadata
fix https://github.com/chrislusf/seaweedfs/issues/2118
5 years ago
Chris Lu
ddc8643ee0
filer: directory listing adds namePatternExclude
fix https://github.com/chrislusf/seaweedfs/issues/2023
5 years ago
Konstantin Lebedev
15b018da34
s3 delete-objects pass OK for fail to delete non-empty folder
5 years ago
Chris Lu
f002e668de
change limit to int64 in case of overflow
5 years ago
Chris Lu
f17aa1d06c
skip directory loop if dropping the bucket
5 years ago
Chris Lu
2c3c2c27d7
separate prefix from namePattern
fix https://github.com/chrislusf/seaweedfs/issues/1722
5 years ago
Chris Lu
03637d6f57
s3: move "delete-directory-if-empty" to read time
move "delete-directory-if-empty" to read time instead of entry deletion time
the listing speed for a s3 bucket folder will slow down if it has many sub folders
related to 0d345ac97d
fix https://github.com/chrislusf/seaweedfs/issues/1647
fix https://github.com/chrislusf/seaweedfs/issues/1670
5 years ago
Chris Lu
0d345ac97d
s3: remove empty parent folder on delete
fix https://github.com/chrislusf/seaweedfs/issues/1637
5 years ago
Chris Lu
cc2bd97ad9
refactor
5 years ago
Chris Lu
513bcd6e0d
filer: avoid duplicated FindEntry for deletion
5 years ago
Chris Lu
290b5e2cd0
directly delete file chunks
keeping current async deletions for now
5 years ago
Chris Lu
62d3d3aea0
go fmt
5 years ago
Chris Lu
1012df7bb5
switch hardlink id from int64 to bytes
5 years ago
Chris Lu
5e239afdfc
hardlink works now
5 years ago
Chris Lu
387ab6796f
filer: cross cluster synchronization
5 years ago
Chris Lu
eb7929a971
rename filer2 to filer
5 years ago
Chris Lu
ca658a97c5
add signatures to messages to avoid double processing
5 years ago
Chris Lu
ecb3ce46be
adjust error logs
5 years ago
Chris Lu
5b43bddf20
proper deletion ordering
delete central file store first, then delete local cache
5 years ago
Chris Lu
8824a9755c
remove directory cache
5 years ago
Устюжанин Антон Александрович
dc9fc01254
test ListDirectoryPrefixedEntries
5 years ago
Chris Lu
87b5031714
change variable visibility
6 years ago
Chris Lu
4eecc6abc6
filer: emit metadata notification correctly for batch deletion
6 years ago
Chris Lu
31e23e9783
filer: support active<=>active filer replication
6 years ago
Chris Lu
df75b5c98d
passing ctx for metadata logging
6 years ago
Chris Lu
f71b855db5
adjust caching and notification for recursive directory deletion
6 years ago
Chris Lu
c0f0fdb3ba
refactoring
6 years ago