zouyixiong
881c9a009e
[master] master missing start LoopPushingMetric routine fixed. ( #6018 )
2024-09-13 20:01:34 -07:00
Aleksey Kosov
7340c62c47
changing FindEntry error handling in cassandra store ( #6015 )
2024-09-13 06:53:04 -07:00
chrislu
a9c9e1bcb3
refactor
2024-09-12 22:45:30 -07:00
chrislu
6063a889ed
3.73
2024-09-12 13:11:55 -07:00
Eugeniy E. Mikhailov
dab0bb8097
Feature limit caching to prescribed number of bytes per file ( #6009 )
...
* feature: we can check if a fileId is already in the cache
We using this to protect cache from adding the same needle to
the cache over and over.
* fuse mount: Do not start dowloader if needle is already in the cache
* added maxFilePartSizeInCache property to ChunkCache
If file very large only first maxFilePartSizeInCache bytes
are going to be put to the cache (subject to the needle size
constrains).
* feature: for large files put in cache no more than prescribed number of bytes
Before this patch only the first needle of a large file was intended for
caching. This patch uses maximum prescribed amount of bytes to be put in
cache. This allows to bypass default 2MB maximum for a file part stored
in the cache.
* added dummy mock methods to satisfy interfaces of ChunkCache
2024-09-11 21:09:20 -07:00
dsd
151f2ff7a9
prevent dead loop for followers of master node ( #6007 )
...
* prevent dead loop for followers of master node
* fix comments
---------
Co-authored-by: levi <344887649@foxmail.com>
2024-09-11 10:24:52 -07:00
dsd
3b840c20e3
change math/rand => math/rand/v2 in volume_layout.go where is a perfo… ( #6006 )
2024-09-11 07:39:40 -07:00
Eugeniy E. Mikhailov
c04edeed68
bug fix in the data received from cache processing ( #6002 )
...
The patch addresses #3745 .
The cache should return the exact amount of data requested by the buffer.
By construction of the cache it is always all requested data range
or we have error happening.
The old use of minsize miscalculate the requested data size,
if non zero offset is requested.
2024-09-10 13:30:18 -07:00
chrislu
d660d5c7d4
increasing default cache size
2024-09-10 10:30:19 -07:00
chrislu
f23015ac5b
weed mount caching
2024-09-10 10:30:05 -07:00
chrislu
93decd1114
remove unused
2024-09-10 10:29:25 -07:00
chrislu
69fcdd0840
adjust logging
2024-09-10 10:28:49 -07:00
Konstantin Lebedev
34bbaa2cdd
[master] process grow request with must grow ( #5999 )
...
process grow request with must grow
2024-09-09 23:45:02 -07:00
Konstantin Lebedev
15965f7c54
[shell] fix volume grow in shell ( #5992 )
...
* fix volume grow in shell
* revert add Async
* check available volume space
* create a VolumeGrowRequest and remove unnecessary fields
2024-09-09 11:42:56 -07:00
chrislu
43d9f68219
more consistent server header for s3 apis
2024-09-09 09:07:58 -07:00
zouyixiong
d8e18a8eb7
bug fixed to filer store elastic deleteEntry ( #5988 )
2024-09-09 02:15:25 -07:00
chrislu
ff3d46637d
better logging for volume growth
2024-09-07 12:38:34 -07:00
chrislu
accba3070a
refactor
2024-09-07 11:54:22 -07:00
Eugeniy E. Mikhailov
d6b0e0ff1c
Remove "Content-Length" header if http.Error is issued ( #5981 )
2024-09-05 17:31:28 -07:00
Eugeniy E. Mikhailov
bc01f09e37
Do CRC check if the buffer contains the full needle data before it is sent ( #5980 )
2024-09-05 17:14:55 -07:00
Bruce
f9e141a412
persist readonly state to volume info ( #5977 )
2024-09-05 07:58:24 -07:00
Bruce
310d41998d
Skip volume data integrity check for volume which has remote file ( #5976 )
2024-09-04 21:25:04 -07:00
Konstantin Lebedev
16984ef07a
[s3] reducing the number of metrics for 403 ( #5961 )
...
reducing the number of metrics
2024-09-04 11:06:54 -07:00
Konstantin Lebedev
67a252ee8a
[master] refactor func ShouldGrowVolumes ( #5884 )
2024-09-04 08:16:44 -07:00
chrislu
eb02946c97
support write once read many
...
fix https://github.com/seaweedfs/seaweedfs/issues/5954
2024-09-04 02:25:07 -07:00
chrislu
18afdb15b6
Revert "weed mount, weed dav add option to force cache"
...
This reverts commit 7367b976b0
.
2024-09-04 01:38:29 -07:00
chrislu
7367b976b0
weed mount, weed dav add option to force cache
2024-09-04 01:19:14 -07:00
chrislu
66ac82bb8f
default cacheDirWrite to cacheDir
2024-09-04 00:05:58 -07:00
chrislu
8d5a6d7e74
fix for spreading ec shards
2024-09-03 22:30:11 -07:00
chrislu
8e4bffc66b
copy ec shards to disks already having ec volumes
...
fix https://github.com/seaweedfs/seaweedfs/issues/5615
2024-09-03 21:19:10 -07:00
wyang
361e7ebc74
fix volume.move io.EOF ( #5960 )
2024-09-02 06:17:41 -07:00
Eugeniy E. Mikhailov
282867a71e
Show volume server which failed to verify a chunk ( #5958 )
2024-09-01 21:13:22 -07:00
Eugeniy E. Mikhailov
220061573d
update metric for ErrorCRC if it happens during volume readNeedleDataInto ( #5957 )
2024-09-01 20:30:09 -07:00
chrislu
3c0854e986
unnecessary skipping
2024-08-30 16:38:01 -07:00
chrislu
654b8210f7
parameter name
2024-08-30 14:52:07 -07:00
chrislu
8679870008
fix typo
2024-08-30 14:51:55 -07:00
chrislu
22d5d2ea96
adjust warning log
2024-08-30 14:51:42 -07:00
chrislu
a4b25a642d
math/rand => math/rand/v2
2024-08-29 09:52:21 -07:00
chrislu
ded5e084ea
ensure none zero lastGrowCount
2024-08-27 09:03:11 -07:00
chrislu
0cf2c15828
rename
2024-08-27 09:02:48 -07:00
chrislu
bebc385607
randomly pick one replica to write
2024-08-27 09:02:39 -07:00
chrislu
3b7bb62e38
logs on error
2024-08-26 09:09:11 -07:00
Shaun Alexander
0d435f9da4
filer.remote.gateway not filer.remote.sync for filer.remote.gateway help string. ( #5935 )
2024-08-23 20:42:59 -07:00
Shaun Alexander
766290411b
filer.remote.gateway not filer.remote.sync for remote.mount.buckets help string. ( #5934 )
2024-08-23 20:41:33 -07:00
chrislu
4463296811
add parallel vacuuming
2024-08-21 22:53:54 -07:00
chrislu
5535b60e8c
fix replication range check
...
fix for https://github.com/seaweedfs/seaweedfs/wiki/Replication#replication-string
2024-08-21 16:58:43 -07:00
zemul
95bae91ca7
Fix get dir metadata ( #5923 )
...
* fix:mount deadlock
* feat: query dir metadata
* feat: query dir metadata
---------
Co-authored-by: zemul <zhouzemiao@ihuman.com>
2024-08-21 11:01:18 -07:00
chrislu
6ce27affa4
also use /healthz
for most consistent health check
2024-08-21 10:55:39 -07:00
chrislu
b3696024d1
add warning for not enough copies when skipping vacuuming volumes
...
fix https://github.com/seaweedfs/seaweedfs/issues/5906
2024-08-20 09:39:35 -07:00
Riccardo Bertossa
6fe8639504
add http endpoint to get the size of a collection ( #5910 )
2024-08-19 07:44:45 -07:00
chrislu
e50d85c0f3
3.72
2024-08-18 21:51:53 -07:00
Oleg Salionov
4cfc7d3b10
Dont try lazy decode content in proxyToFiler if no accept-encoding provided ( #5907 )
2024-08-18 21:51:17 -07:00
chrislu
e8462ba3ad
prevent compacting on the same volume
2024-08-18 12:08:43 -07:00
augustazz
db833abfa2
fix ec volume lookup data sync ( #5900 )
2024-08-16 06:08:33 -07:00
augustazz
0b00706454
EC volume supports expiration and displays expiration message when executing volume.list ( #5895 )
...
* ec volume expire
* volume.list show DestroyTime
* comments
* code optimization
---------
Co-authored-by: xuwenfeng <xuwenfeng1@zto.com>
2024-08-16 00:20:00 -07:00
chrislu
8f1f1730e9
minor
2024-08-15 19:12:11 -07:00
wusong
6f58ab7e8b
[master] fix master panic ( #5893 )
2024-08-15 06:20:51 -07:00
chrislu
fdf7193ae7
rename
2024-08-13 13:59:24 -07:00
chrislu
07f4998188
add dat file size into vif for EC
2024-08-13 13:56:00 -07:00
chrislu
3a2e21fee7
fix EC reading on nLargeBlockRows
...
fix https://github.com/seaweedfs/seaweedfs/issues/5465
2024-08-13 12:01:46 -07:00
chrislu
e14b6e02df
load ec volume id locations
...
fix https://github.com/seaweedfs/seaweedfs/issues/5713
2024-08-12 11:54:25 -07:00
chrislu
480fcb1d03
fix build
2024-08-12 09:45:51 -07:00
chrislu
ff66155302
fix tests
2024-08-12 09:30:42 -07:00
chrislu
270e91b0be
adds locking
2024-08-11 13:06:01 -07:00
chrislu
b6fd1ff4ce
refactor
2024-08-10 12:39:16 -07:00
chrislu
7438648d1c
Merge branch 'master' into mq
2024-08-10 10:01:57 -07:00
Kamran Sarwar
63c707f9c1
added access-control-expose-headers to put request ( #5876 )
2024-08-09 15:52:05 -07:00
chrislu
e825dd7496
fix opposite logic
...
fix https://github.com/seaweedfs/seaweedfs/issues/5871
2024-08-08 23:16:38 -07:00
chrislu
e069009f09
[remote.cache, remote.uncache] fix min/max age
...
fix https://github.com/seaweedfs/seaweedfs/issues/5871
2024-08-08 21:25:52 -07:00
chrislu
9ca30e52d5
fuse mount handles ttl entries
...
fix https://github.com/seaweedfs/seaweedfs/issues/5527
2024-08-08 08:18:54 -07:00
chrislu
2074e7db67
fix invalid toml
2024-08-08 00:03:42 -07:00
chrislu
e86b0bcaaa
simplify
2024-08-07 10:46:29 -07:00
chrislu
57dc39c451
randomizing next file handle id
2024-08-07 10:42:00 -07:00
Konstantin Lebedev
3e6ca6e706
[webdav] status code 500 if internal error from filer ( #5865 )
2024-08-06 07:39:52 -07:00
Konstantin Lebedev
ef4c555e90
[shell] volume.grow ( #5855 )
2024-08-05 09:22:17 -07:00
qinguoyi
bf2366ba3a
Fix KeyMaterial nil bug ( #5849 )
2024-08-02 11:06:48 -07:00
qinguoyi
e88da0be1b
Fix KeyMaterial nil bug ( #5848 )
2024-08-02 09:47:11 -07:00
qinguoyi
606d0cba64
Fix extractToFile gz file nil bug ( #5847 )
2024-08-02 09:46:37 -07:00
qinguoyi
b74b506e52
add command backup destory volume error log ( #5846 )
2024-08-02 00:04:57 -07:00
chrislu
8378a5b70b
rename
2024-08-01 23:54:42 -07:00
chrislu
d49ecde535
rename functions
2024-08-01 23:27:23 -07:00
zuzuviewer
5ee50d26d8
fix CVE-2016-2183 ( #5844 )
...
* fix CVE-2016-2183
* allow tls.min_version and tls.max_version not set
2024-08-01 20:00:22 -07:00
chrislu
4fee496b49
conditional delete
2024-08-01 13:00:54 -07:00
wyang
31b89c1062
fsck: only check the appendNs of deleted needle ( #5841 )
...
increase fsck speed
Co-authored-by: Yang Wang <yangwang@weride.ai>
2024-07-31 01:12:57 -07:00
Konstantin Lebedev
b2ffcdaab2
[master] do sync grow request only if absolutely necessary ( #5821 )
...
* do sync grow request only if absolutely necessary
https://github.com/seaweedfs/seaweedfs/pull/5819
* remove check VolumeGrowStrategy Threshold on PickForWrite
* fix fmt.Errorf
2024-07-30 13:21:35 -07:00
Jiffs Maverick
c8506609d8
[filer] Added a version to the title of Filer UI ( #5836 )
...
Added a version to the title of Filer UI
2024-07-29 14:07:12 -07:00
Konstantin Lebedev
e1f9336688
[filer] fix panic filer on webdav.maxMB ( #5822 )
...
fix panic filer on webdav.maxMB
2024-07-27 13:40:22 -07:00
wyang
4b1f539ab8
fix allocate reduplicated volumeId to different volume ( #5811 )
...
* fix allocate reduplicated volumeId to different volume
* only check barrier when read
---------
Co-authored-by: Yang Wang <yangwang@weride.ai>
2024-07-26 21:48:36 -07:00
wyang
c1bffca246
fix evacuate volume to different disk types ( #5530 )
...
Co-authored-by: wyang <wyang@wyangs-Air.lan>
2024-07-26 21:36:56 -07:00
chrislu
e2a07d11d5
Revert "Check ShouldGrowVolumes
before returning error in assign. ( #5819 )"
...
This reverts commit 98d66338d0333cd955f7840c64ef95e3c4807a17.
2024-07-26 11:21:50 -07:00
wyang
0581ce6096
fix delete chunk failed if volumeSever specified grpc.port ( #5820 )
...
Co-authored-by: Yang Wang <yangwang@weride.ai>
2024-07-26 11:14:19 -07:00
chrislu
ec9455dab7
same change as #5819
...
follow up with https://github.com/seaweedfs/seaweedfs/pull/5819
2024-07-26 11:06:47 -07:00
Ruoxi
d15966ae8e
Check ShouldGrowVolumes
before returning error in assign. ( #5819 )
2024-07-26 11:04:38 -07:00
Chris Lu
952afd810c
Fix dead lock ( #5815 )
...
* reduce locks to avoid dead lock
Flush->FlushData->uplloadPipeline.FluahAll
uploaderCount>0
goroutine 1 [sync.Cond.Wait, 71 minutes]:
sync.runtime_notifyListWait(0xc0007ae4d0, 0x0)
/usr/local/go/src/runtime/sema.go:569 +0x159
sync.(*Cond).Wait(0xc001a59290?)
/usr/local/go/src/sync/cond.go:70 +0x85
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).waitForCurrentWritersToComplete(0xc0002ee4d0)
/github/workspace/weed/mount/page_writer/upload_pipeline_lock.go:58 +0x32
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).FlushAll(0xc0002ee4d0)
/github/workspace/weed/mount/page_writer/upload_pipeline.go:151 +0x25
github.com/seaweedfs/seaweedfs/weed/mount.(*ChunkedDirtyPages).FlushData(0xc00087e840)
/github/workspace/weed/mount/dirty_pages_chunked.go:54 +0x29
github.com/seaweedfs/seaweedfs/weed/mount.(*PageWriter).FlushData(...)
/github/workspace/weed/mount/page_writer.go:50
github.com/seaweedfs/seaweedfs/weed/mount.(*WFS).doFlush(0xc0006ad600, 0xc00030d380, 0x0, 0x0)
/github/workspace/weed/mount/weedfs_file_sync.go:101 +0x169
github.com/seaweedfs/seaweedfs/weed/mount.(*WFS).Flush(0xc0006ad600, 0xc001a594a8?, 0xc0004c1ca0)
/github/workspace/weed/mount/weedfs_file_sync.go:59 +0x48
github.com/hanwen/go-fuse/v2/fuse.doFlush(0xc0000da870?, 0xc0004c1b08)
SaveContent -> MemChunk.RLock ->
ChunkedDirtyPages.saveChunkedFileIntervalToStorage
pages.fh.AddChunks([]*filer_pb.FileChunk{chunk})
fh.entryLock.Lock()
sync.(*RWMutex).Lock(0x0?)
/usr/local/go/src/sync/rwmutex.go:146 +0x31
github.com/seaweedfs/seaweedfs/weed/mount.(*FileHandle).AddChunks(0xc00030d380, {0xc00028bdc8, 0x1, 0x1})
/github/workspace/weed/mount/filehandle.go:93 +0x45
github.com/seaweedfs/seaweedfs/weed/mount.(*ChunkedDirtyPages).saveChunkedFileIntervalToStorage(0xc00087e840, {0x2be7ac0, 0xc00018d9e0}, 0x0, 0x121, 0x17e3c624565ace45, 0x1?)
/github/workspace/weed/mount/dirty_pages_chunked.go:80 +0x2d4
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*MemChunk).SaveContent(0xc0008d9130, 0xc0008093e0)
/github/workspace/weed/mount/page_writer/page_chunk_mem.go:115 +0x112
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).moveToSealed.func1()
/github/workspace/weed/mount/page_writer/upload_pipeline.go:187 +0x55
github.com/seaweedfs/seaweedfs/weed/util.(*LimitedConcurrentExecutor).Execute.func1()
/github/workspace/weed/util/limited_executor.go:38 +0x62
created by github.com/seaweedfs/seaweedfs/weed/util.(*LimitedConcurrentExecutor).Execute in goroutine 1
/github/workspace/weed/util/limited_executor.go:33 +0x97
On metadata update
fh.entryLock.Lock()
fh.dirtyPages.Destroy()
up.chunksLock.Lock => each sealed chunk.FreeReference => MemChunk.Lock
goroutine 134 [sync.RWMutex.Lock, 71 minutes]:
sync.runtime_SemacquireRWMutex(0xc0007c3558?, 0xea?, 0x3fb0800?)
/usr/local/go/src/runtime/sema.go:87 +0x25
sync.(*RWMutex).Lock(0xc0007c35a8?)
/usr/local/go/src/sync/rwmutex.go:151 +0x6a
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*MemChunk).FreeResource(0xc0008d9130)
/github/workspace/weed/mount/page_writer/page_chunk_mem.go:38 +0x2a
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*SealedChunk).FreeReference(0xc00071cdb0, {0xc0006ba1a0, 0x20})
/github/workspace/weed/mount/page_writer/upload_pipeline.go:38 +0xb7
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).Shutdown(0xc0002ee4d0)
/github/workspace/weed/mount/page_writer/upload_pipeline.go:220 +0x185
github.com/seaweedfs/seaweedfs/weed/mount.(*ChunkedDirtyPages).Destroy(0xc0008cea40?)
/github/workspace/weed/mount/dirty_pages_chunked.go:87 +0x17
github.com/seaweedfs/seaweedfs/weed/mount.(*PageWriter).Destroy(...)
/github/workspace/weed/mount/page_writer.go:78
github.com/seaweedfs/seaweedfs/weed/mount.NewSeaweedFileSystem.func3({0xc00069a6c0, 0x30}, 0x6?)
/github/workspace/weed/mount/weedfs.go:119 +0x17a
github.com/seaweedfs/seaweedfs/weed/mount/meta_cache.NewMetaCache.func1({0xc00069a6c0?, 0xc00069a480?}, 0x4015b40?)
/github/workspace/weed/mount/meta_cache/meta_cache.go:37 +0x1c
github.com/seaweedfs/seaweedfs/weed/mount/meta_cache.SubscribeMetaEvents.func1(0xc000661810)
/github/workspace/weed/mount/meta_cache/meta_cache_subscribe.go:43 +0x570
* use locked entry everywhere
* modifiable remote entry
* skip locking after getting lock from fhLockTable
2024-07-24 23:46:40 -07:00
chrislu
ed7e721efe
3.71
2024-07-21 21:03:27 -07:00
chrislu
9265be43c0
avoid nil
2024-07-21 21:01:29 -07:00
chrislu
4020149690
3.70
2024-07-21 20:27:39 -07:00
chrislu
9dd008f8f1
add version to filer
2024-07-21 20:13:51 -07:00
chrislu
9dcc576499
Revert "add collection for buckets"
...
This reverts commit 96af571219
.
2024-07-20 12:00:50 -07:00
chrislu
aed2a18223
get, set and add path conf
2024-07-20 11:27:11 -07:00