Contents
一、已知BUG信息
说明:以下版本BUG是在实际生产环境中遇到过,总结如下:
版本 | BUG 影响 | 严重程度 | BUG issues | 解决版本 |
---|---|---|---|---|
2.74 | raft协议版本BUG,Master组件会突然异常挂掉,再启动会引发集群脑裂,seaweedfs服务异常 | 高 | https://github.com/seaweedfs/seaweedfs/issues/3223 | 3.13 |
BUG会导致filer跟master重连时候没有注册到master leader节点,leader节点不会将新建的volume id 推送给filer,导致文件请求报错 | 中 | https://github.com/seaweedfs/seaweedfs/issues/3221 | 3.14 | |
gRPC服务器每10小时关闭一次所有客户端连接 | 低 | https://github.com/seaweedfs/seaweedfs/issues/3219https://github.com/seaweedfs/seaweedfs/issues/3220 | 3.14 | |
filer节点无规律报错“raft.Server: Not current leader”,会导致filer和master瞬间失联,然后重连master,业务量大时候,请求到这个节点时候会找不到volume id,nginx 报500错误 | 中 | https://github.com/seaweedfs/seaweedfs/issues/2589https://github.com/seaweedfs/seaweedfs/issues/2802https://github.com/seaweedfs/seaweedfs/issues/3795多次reopen | 3.31 | |
代码存在双重for循环,且读写锁在双for循环里面,当业务并发量增大时候,请求会导致master cpu成volume个数的2次幂倍数增加,引发性能问题,导致业务报错 | 高 | https://github.com/seaweedfs/seaweedfs/commit/31f1f960386ef1ad10fa5301e88e19c88e3756c1 | 3.66 |
二、版本更新总结
1、Seaweedfs不同于其他开源软件有大版本的区分,核心架构和组件功能上没有大的改变,软件版本更新很频繁,每个版本都是为了解决核心组件BUG问题和新增一些功能
2、纵观所有版本的更新说明,作者对mount挂载方式一直在进行优化,并表示在 3.40版本 mount挂载形式的性能得到了极大的提升
3、weed shell 命令控制终端一直在随着版本更新,优化一些重要命令BUG和新增一些功能命令,其中最重要的数据平衡命令一直存在各种BUG,作者也一直在不同版本修复 volume.balance 命令逻辑,最新一次修复在 3.63版本
4、按照目前生产环境BUG严重程度和修复版本,新seaweedfs集群至少需要升级到 3.66 版本(2024年5月6日发布)
5、3.72 版本新增了一个闭源收费的企业级 seaweed admin,有以下核心功能:
- 灵活高效的TTL管理。
- 将任何文件恢复到任何时间点。
- 异地连续文件元数据备份
三、版本更新详细信息
版本号 | 发布日期 | 改进说明 | 重点修复 Bug | 原文 |
---|---|---|---|---|
3.00 | 2022年4月25日 | 此版本删除了编译时不常用的大尺寸库,包括:“elastic、gocdk、sqlite、hdfs”。如果需要,请直接使用 Makefile 编译这些库 | Shell按集合和卷 ID 划分 shell 真空卷 #2936volume.list 添加新选项:通过集合名称模式或通过 volumeId 显示只读卷 #2940Filer修复读取错误时的 http 响应错误代码 #2960Volume修复在卷服务器有多个目录时,删除卷或卸载卷时的错误MinorHelm Charts:使用 leveldb2 的文件管理器可能会丢失数据 #2935 | Shellvacuum volume by collection and volume id #2936volume.list add option to show only read only volumes, by collection name pattern, or by volumeId #2940FilerFix http response error code when reading has error #2960VolumeFix bug when deleting volume or unmount volume if a volume server has multiple directoriesMinorHelm Charts: filer using leveldb2 may lose data #2935S3handle implicit user name #2957 |
3.01 | 2022年5月2日 | S3避免空listMultipartUploads响应S3后端支持自定义储存类别Shell添加参数volume.check.disk 来检查特定的卷Filer添加一个实验性的filerGroup选项以将不同用途的文件夹分离到它们自己的命名空间中 | Shellvolume.tier.upload 进度开始为负 #2992volume.tier.upload 如果已复制到远程,则跳过 #2993Volumevolume: 在复制卷文件之前同步到磁盘 #2976Fix ipv6 #2983 | FilerAdd an experimental filerGroup option to separate different-purposed filers into their own namespacesShellvolume.check.disk add param volumeId to check specific volumnvolume.tier.upload progress starts negative #2992volume.tier.upload skip if already copied to remote #2993Volumevolume: sync to disk before copying volume files #2976S3Avoid empty listMultipartUploads responses3 backend support customizing storage classFix ipv6 #2983 |
3.02 | 2022年5月9日 | Filer将YDB添加为文件存储 #2996使用Etcd文件存储修复分页 #3016filer.sync 挂载的传递属性 #3012Other small fixes修复filer helm pvc配置 #3020docker compose use -ip.bind=0.0.0.0 | FilerAdd YDB as filer store #2996Fix pagination with Etcd filer store #3016filer.sync pass attribute for mount #3012S3Fix an edge case for multipart upload #3011Skip unix socket mode on windows #3013Other small fixesfix filer helm pvc configuration #3020docker compose use -ip.bind=0.0.0.0 | |
3.04 | 2022年5月16日 | Shellvolume.tier.upload 修复原子添加int64 #3038FilerYDB文件存储改进 #3043 | S3Add metadata and tagging in s3 api CopyObject #3047Shellvolume.tier.upload fix atomic add int64 #3038FilerYDB filer store improvements #3043 | |
3.06 | 2022年5月23日 | 这修复了自2.93以来引入的bug,其中大于10000*chunkSize的文件在读取时会有错误的内容。数据存储没问题,但读取操作有bug。weed mount 的默认块大小为2MB,weed filer 的默认块大小为4MB。因此大于20GB或40GB的文件需要此修复。 | Filer如果未覆盖,请使用fs. confiure中的fsync选项 #3079读取大于10000*chunkSize的文件会产生错误结果。Shellvolume.fix.replication 如果集合不匹配,避免删除卷副本 #3056Volume避免从同一目录启动两个卷服务器 #3059 | This fixed a bug introduced since 2.93, where files larger than 10000*chunkSize will have wrong content during read time. The data storage is fine but the read operation has bug. The default chunks size for 2MB for weed mount and 4MB for weed filer . So files larger than 20GB or 40GB will need this fix.FilerUse fsync option from fs.configure if not overwritten #3079Reading files larger than 10000 * chunkSize will have error result.Shellvolume.fix.replication avoid deleting volume replica if collection does not match #3056VolumeAvoid two volume servers starting from the same directory #3059 |
3.08 | 2022年6月1日 | Filer具有嵌入式文件器存储的新文件器可以从其对等点正确引导 #3089Volume Server修复压缩过程中可能的nil #3105Mount修复部分ReadDir结果 #3102 | FilerNew filers with embedded filer stores can bootstrap correctly from its peers #3089S3Fake directory related fix to be compatible with NextCloud #3086Keep authentication enabled in case identities are set to empty #3084Volume ServerFix possible nil during compaction #3105MountFix partial ReadDir results #3102 | |
3.09 | 2022年6月6日 | Volume Server流读取大针头,重用分配的内存。希望这可以避免或减少由于内存GC导致的延迟峰值。Mount文件句柄更好地锁定条目对象Shellvolume.fix.replication 修复重试逻辑 #3136Filer Sync修复目标关闭时丢失的源服务器上传文件到目标 #3132Minor修复“需要硬盘类型”的错误报告 #3128 | Volume ServerStream reading large needles, reusing allocated memories. Hopefully this can avoid or reduce latency spikes due to memory GC.Mountfile handle locks entry object betterShellvolume.fix.replication fix retry logic #3136Filer SyncFix missing source server uploaded files to target when target down #3132Minorfix error reporting for "Need to a hdd disk type" #3128 | |
3.11 | 2022年6月15日 | 这是一个紧急版本,因为#3177的修复被认为是关键的。bug发生在大文件的范围请求上。Volume Server对于大文件的范围请求,避免写入太多数据。 #3177Filer Sync可以启动单独的同步进程来同步不同的文件夹,每个文件夹都有偏移量 | This is an emergency release since the fix for #3177 is deemed critical. The bug happens for range requests on large files.Volume ServerFor range requests on large files, avoid writing too much data. #3177Filer SyncCan start separate sync processes to sync different folders, with offset for each folder #3179 | |
3.12 | 2022年6月21日 | 添加weed update 命令自动更新到最新版本#3184Filer UI为服务器命令提供filer. ui.deleteDir选项Remote Object Store Gateway删除对HDFS的支持 | Volume Server降低低密度卷的前期内存消耗如果并发上传超过卷服务器限制,则添加超时 #3081Mount修复导致git checkout失败的微妙bugFiler Sync为filer. sync的偏移量和filer订阅的上次发送时间戳添加指标 #3182Filer/Mount修复无法读取大文件上的清单时无效的块数据 #3195 | This is an emergency release since the fix for #3177 is deemed critical. The bug happens for range requests on large files.S3Add circuit breaker for each bucket if over concurrent request count limit or size limit #3189Add bucket-specific metrics #3190Return 204 for AbortMultipartUploadHandler #3198Volume ServerReduce upfront memory consumption for low-density volumesAdd timeout if concurrent upload is over the volume sever limit #3081Add weed update to automatically update to the latest version #3184MountFix a subtle bug causing git checkout to fail.Filer SyncAdd metrics for the offset of the filer.sync and last send timestamp of the filer subscription #3182Filer/MountFix invalid chunk data when failed to read manifests on large files. #3195Filer UIProvide filer.ui.deleteDir options for server command. #3180Remote Object Store GatewayRemove support for HDFS. |
3.13 | 2022年6月27日 | Filer Store添加回TiKV支持 #3233 | Filer在master断开连接时添加额外的文件ID查找使用更新的TLS密钥重新连接到master #3226Master减少真空期间创建的连接 #3218FUSE Mount统计报告总大小和使用的大小作为物理空间而不是逻辑大小 | FilerAdd additional file id lookup when master disconnects.Reconnect to master with updated TLS keys #3226JavaFix data uploading when encryption is enabled. #3211Filer StoreAdd back TiKV support #3233MasterReduce connections created during vacuum #3218FUSE MountStats report total size and used size as physical space instead of logical size. |
3.14 | Jul 5, 2022 | Filer Store添加回TiKV支持 #3211 | Filer修复与master的杂项连接边缘条件,减少volume xx not found 错误。Filer Sync修复读取时间戳WebDAV修复了通过WebDAV创建的文件在通过fuse读取时显示为0字节大小的问题. #3250 | FilerFix misc connection edge conditions with master, reducing volume xx not found errors.S3Fix pagination. #3263Filer StoreAdd back TiKV support. #3211Filer SyncFix reading timestampWebDAVFixes the issue where files created via WebDAV show as 0-bytes size when read via fuse. #3250Minorweed filer improve command help, add supported filer store list #3235volumeServer.evacuate fix logic add option targetServer #3255handle errors for GenerateDirUuid method #3238 |
3.15 | 2022年7月11日 | Master修复在真空期间按volume id 过滤Mount随机读取也尝试先使用本地缓存文件句柄释放内存 | MasterFix filtering by volume id during vacuum.S3Fix pagination ListObjectsV2 under bucket root. #3166Fix IAM CreatePolicy error #3289MountRandom read also try to use the local cache firstFile handle release memoryMinorMount adjust reporting on disk usage.Filer store for TiKV support TLS #3286 | |
3.16 | 2022年7月18日 | Volume Server与 CPU 数量并行加载卷 #3303 #3309Filer修复检测到重复本地订阅的错误 #3320Mount修复致命错误:同步 解锁已解锁的RWMutex #3306更好地检测顺序读写模式.修复繁忙写入期间的bug #3315 | Volume ServerLoading volumes in parallel to the number of CPU. #3303 #3309S3Check whether there is a duplicate accessKey when modifying iam. #3305 #3308File upload should return ETag instead of Etag #3314FilerFix error duplicated local subscription detected #3320MountFix fatal error: sync: Unlock of unlocked RWMutex #3306Better detecting sequential read and write mode.fix bug during busy writes #3315 | |
3.18 | 2022年7月26日 | 此版本解决了2个主要问题:当主服务器关闭时,主服务器将选举一个新的领导者,卷服务器将向新领导者报告自己。这个过程将需要几秒钟。在此期间,卷id查找可能会失败。这在 #3350 中通过重用以前的映射来解决。weed mount 命令修复了有关硬链接的错误逻辑。 | Volume Server更快地加载level db卷. #3337卷服务器可以疏散到特定的目标服务器 #3298Filer回退到上一个卷id映射以确保顺畅的主领导者切换 #3350如果找不到卷url,使用回退 #3318leveldb3 filer store 添加即时存储桶删除Mount更好地支持硬链接.修复并发映射读取和映射写入 #3344Shellvolume.fix.replication 可以通过集合更改复制 #3346 | The 3.17 has a bug that adds a 150ms sleep during each file read operation. It is deleted and here is the same release notes from 3.17.This release solved 2 major problems:When a master is down, the masters will elect a new leader and the volume servers will report itself to the new leader. This process will take many seconds. During this time, volume id lookup can fail. This is solved in #3350 by reusing previous maps.weed mount fixed wrong logic about hard links.Here is the list of changes:Volume ServerFaster loading leveldb volumes. #3337volume server can evacuate to a specific target server #3298S3Avoid duplicated actions in IAM PutUserPolicy #3340FilerFallback to previous volume id map to ensure smooth master leader switching #3350Use fallback if volume url is not found #3318leveldb3 filer store adds instant bucket deletionMountBetter support for hard links.Fix fix concurrent map read and map write #3344Shellvolume.fix.replication can change replication by collection #3346 |
3.19 | 2022年8月1日 | Filer.sync可选择排除要同步的目录 #3372Mount修复由符号链接大小报告引起的git status 期间的符号链接 #3351Volume删除集合时删除disk_size指标 #3341Master为raft status添加健康指示器 #3385 | This is the first release under https://github.com/seaweedfs/seaweedfs The docker images will be migrated later.Helm ChartsAdd PVC storage option for master and filer data and logs. #3367Filer.syncOptionally exclude directories to sync #3372MountFix symlink during git status caused by symlink size reporting #3351Volumedelete disk_size metrics when collection deleted #3341S3Buckets are not created and deleted correctly on the filer with the same signature when they are created and deleted #3374IAM: PutUserAction should completely replace identity actions #3378MasterAdd healthy indicator for raft status #3385 | |
3.20 | 2022年8月8日 | FUSE 支架越来越稳定。截断操作的过期修复使 SQLite 能够安全运行。filer.sync 可以并行同步多个文件更改。(在修复之前,所有更改只能在目标文件管理器集群中一一应用) | FUSE Mount修复 truncate 操作导致新文件较小时数据写入失败 #2609 #3384修复硬链接的链接计数 #3386df 当使用量接近限制时调整统计报告 #3407修复检测随机读取模式的错误逻辑filer.sync 并行化从 1 到 128 个复制 goroutine 的同步修复主动 - 主动模式下的同步逻辑 #3328排除路径为空时修复FilerFiler 更喜欢同一数据中心中的卷服务器 #3405添加下载限速支持 #3408Shellfiler.meta.load 添加安静模式,以减少详细输出 #3414 | Besides many small fixes, the 2 major improvements are:The FUSE mount is getting more stable. The long-over-due fix for truncate operation enables SQLite to run safely.The filer.sync can synchronize multiple file changes in parallel. Before the fix, all changes can only be applied one-by-one in the target filer cluster.Change log:FUSE MountFix truncate operation caused data write failure when new file is smaller in size #2609 #3384Fix link count for hard links #3386Adjust df stats reporting when usage is close to the limit #3407Fix wrong logic for detecting random read patternfiler.sync Parallelize synchronization from 1 to 128 copying goroutines.Fix synchronization logic in active-active mode #3328Fix when excluded path is emptyFilerFiler prefer volume servers in the same data center #3405Add download speed limit support #3408Helm ChartsAdd support for initContainers #3399Misc monitoring improvements #3406Filer StoreAllow postgresql to use standard environment variables for connection #3413Shellfiler.meta.load add quiet mode to reduce verbose output #3414 |
3.22 | 2022年8月16日 | Mount调整磁盘利用率du命令的统计报告 #3424避免32位CPU上的内存对齐问题 #3427Master空间清理添加随机性 #3396启动管理脚本时避免使用raft无限循环 #3421 | Revert fsync change in 3.21 that is causing write performance problem. #3443S3Fix s3 pagination #3436 #3166Fix head objectMountAdjust stats reporting for disk utilization du command #3424Avoid memory alignment problem on 32 bit CPU #3427WebDAVFix nil exception #3440MasterAdd randomness when vacuuming #3396Avoid infinite loop with raft when starting admin scripts #3421DockerFix "file not found" for docker entrypoint #3430 | |
3.23 | 2022年8月22日 | 现在文件内容上传更加健壮。有两个步骤,从master分配文件id和上传到卷服务器。以前,这两个步骤通常独立重试。但是,在步骤1之后,卷服务器可能会将卷更改为只读,尤其是在卷操作期间,例如重新平衡、擦除编码等。在此版本中,这两个步骤一起重试。这应该有助于filer. Cope、Mount、webdav等。 另一个修复是卷服务器的擦除编码,当卷服务器有多个目录和一个共享索引目录时。这种组合会导致一些剩余文件,从而导致其他卷管理问题。 | Filer如果在一个副本中找不到,重试读取请求修复if-modified-since 检查不会在“精确”上触发 #3467修复文件上传 /etc #3476filer.backup 如果文件保存在filer中,则备份小文件(saveToFilerLimit>0) #3468Mount实现copy_file_range系统调用 #3475修复文件间隙中的缓冲区泄漏 #3472修复块缓存中挂起读取goroutines的问题 #3473避免使用当前申报人地址的竞争条件 #3474Volume修复卷文件计数的指标报告修复多个目录位置和共享索引目录一起使用时的EC编码/解码问题Minorfiler.sync 偏移量初始化 #3450 #3451S3修复已删除集合的指标报告 #3453 | File content uploading now is more robust. There are two steps, assigning a file id from master and uploading to volume server. Previously the two steps are usually retried independently. However, it is possible that after step 1, the volume server will change the volume to read only, especially during volume operations, e.g., rebalance, erasure coding, etc. In this release, the two steps are retried together. This should help for filer.copy , mount , webdav , etc.Another fix is Erasure Coding for volume server, when a volume server has multiple directories and a shared index directory. This combination caused some left over files, which caused other volume manage problems.FilerRetry read requests if not found in one replicaFix if-modified-since check doesn't fire on "exact" #3467Fix file uploading for /etc #3476S3Fix regression on HEAD directory operation #3457filer.backup backup small files if the file is saved in filer (saveToFilerLimit > 0) #3468MountImplement copy_file_range syscall #3475Fix buffer leaks in file gaps. #3472Fix hanging read goroutines in chunk cache #3473Avoid race conditions with current filer address #3474VolumeFix metrics reporting on volume file count.Fix EC encoding/decoding problem when multiple dir locations and shared index directory are used together.Minorfiler.sync offset initialization #3450 #3451S3 fix metrics reporting for deleted collections #3453 |
3.24 | 2022年8月29日 | Volume Server优化压缩提交步骤 #3388修复删除计数bug #3499Master如果raft服务器不响应ping请求,删除它们 #3398在删除卷服务器之前发送已删除的卷ID #3530Shell移动卷时添加速度限制参数 #3478如果锁丢失,停止长时间运行的作业Mount在FUSE中实现lsearch系统调用 #3491Filer UI修复所有文件上传前的重新加载页面 #3534 | Volume ServerOptimize compaction commit step #3388Fix bug on delete count #3499MasterRemove old raft servers if they do not answer ping requests #3398Send out deleted volume ids before dropping a volume server #3530ShellAdd speed limit parameter when moving volumes #3478Stop long running jobs if lock is lostGateway To Remote Object StorageParallelize filer.remote.sync uploading to remote object storageFiler Async Backupuse S3 upload manager for uploading smaller sized files #3531S3Handle preflight CORS requests #3481 #3496Fix for explicitly created directory #3457 #3498MountImplement lseek syscall in FUSE #3491Filer UIFix reloading page before all files are uploaded #3534 | |
3.25 | 2022年9月5日 | Mount修复文件句柄更改后损坏的挂载读取 #3536Volume云分层修复读取s3读取,消耗所有读取响应体 #3584Shellvolume.tier.move 添加更改复制的选项 #3583Filer修复rocksdb store错误报告未找到 #3555修复arangod处理和存储桶删除 #3586 #3587filer.sync 添加调整并发的选项filer.backup and filer.sync 在备份和同步期间包含标头 #3532 | MountFix corrupted mount reads after changes on file handle #3536Volumecloud tiering fix reading s3 reading, consume all read response body #3584Shellvolume.tier.move add option to change replication. #3583FilerFix rocksdb store incorrectly report not found #3555Fix arangodb transactions and bucket deleting #3586 #3587filer.sync adds options to adjust concurrency.filer.backup and filer.sync include headers during backup and sync #3532S3Fix configuring IAM for the same userClose response body when S3 copying objectsMisc fixes on data race conditions | |
3.27 | 2022年9月12日 | Shellvolume.fsck 修复文件复制运行时的孤立条目 #2578在volume.fix.replication中添加选项以仅修复复制不足而不删除卷 #3640volume.balance 处理边缘情况 max=1 volume.balance 更改默认值以平衡所有集合而不是每个集合.Volume Server使用较小的锁定范围以避免下载缓慢导致上传请求等待修复抛出异常时的卷死锁 #3613Master Server修复volume 心跳处理误差 #3616Data Racing fixes避免计算上的数据竞争 freeVolumeSlotCount #3594避免通用的数据竞争DiskUsage.maxVolumeCount #3592Mount修复新的inode分配 #3633写入操作锁已排序Filer Storearangodb s3存储桶名称兼容性 #3588 | Shellvolume.fsck fix orphan entries while filer.copy running #2578Add option in volume.fix.replication to only fix under-replication and not delete volumes #3640volume.balance handle edge cases where max=1 volume.balance change default value to balance all collections instead of each collection.Volume ServerUse smaller lock scope to avoid slow download causing upload requests to waitfix: volume Deadlock when exception is thrown #3613Master Serverfix: volume heartbeat processing error #3616Data Racing fixesavoid data race on calc freeVolumeSlotCount #3594avoid data race on currentDiskUsage.maxVolumeCount #3592Mountfix new inode allocation #3633Write operation locks are ordered.Filer Storearangodb s3 bucket name compatibility #3588filer.remote.sync Clean up AWS tags to sync with Cloudflare R2 #3636 | |
3.28 | 2022年9月19日 | Volume Server添加实验选项 hasSlowRead 添加实验选项 readBufferSizeMB | Master如果数据节点为空,则跳过增量心跳 #3630实现gRPC VolumeMarkWritable #3657Filer使用复制写入清理失败的数据块 #3591Mount建立在mac上现在被修复了 | MasterSkip delta heart beat if data node is empty #3630Implement gRPC VolumeMarkWritable #3657FilerClean up failed data chunks with replicated writes #3591S3Fix nil pointer with localFilerSocket #3654IsTruncated returned by the ListMultipartUploads method should be set to false #3682File size is 0 for s3 multipart uploaded file #3683MountBuild on mac should be fixed now!Volume ServerAdd experimental option hasSlowRead Add experimental option readBufferSizeMB |
3.29 | 2022年9月26日 | Mount修复通过s3或Javahttp客户端上传的文件显示0 size的问题 #3660filer.sync Filer复制:直接比较内容更改 #3714 | MountFix the problem that files uploaded via s3 or Java http clients show 0 size. #3660filer.sync filer replication: compare content changes directly #3714 | |
3.30 | 2022年10月3日 | Shellfs.meta.load fs. meta.load 可以选择性地加载任何目录#3747volume.fsck 修复恐慌 #3746. by @lyang24 in #3763Filer允许CORS on Filer by @jerebear12 in #3750Server调整单服务器的设置主选项 #3708Volume server向HUP(重新加载)信号添加新卷 #3755Javaclient-java: 处理服务器HTTP错误 @kvtb in #3762client-java: 上传块时提供Content-MD5 #3761filer.sync 修复远程同步目录的删除键恐慌 #3770 | Shellfs.meta.load can selectively load any dirs by @kmlebedev in #3747volume.fsck fix panics #3746. by @lyang24 in #3763FilerAllow CORS on Filer by @jerebear12 in #3750ServerAdjust set master options for single server by @kmlebedev in #3708Volume serverAdd new volumes to HUP(reload) signal by @kmlebedev in #3755Javaclient-java: handle server HTTP errors by @kvtb in #3762client-java: provide Content-MD5 when uploading chunks by @kvtb in #3761filer.sync fix delete key panic of remote sync dir by @kmlebedev in #3770 | |
3.31 | 2022年10月10日 | filer.sync 获取文件块时限制并发 #3787Shell通过shell显示raft领导者 #3796Master主服务器优雅停止 @kmlebedev in #3797配置raft 指标 @kmlebedev in #3798指标显示谁当前正在阻塞集群 #3799Volume Server在启动期间从不同目录并行化卷加载 #3802修复bug与特殊得ID性别:compact_map得到错误不匹配cookie #3748FUSE mountFix mount -t weed 额外选项 #3807Mount从生成缓存目录id中删除挂载目录 #3811 | filer.sync limit concurrency when fetching file chunks #3787S3avoid increasing the coordinates of metric labels by @kmlebedev in #3785Shellshow raft leader via shell by @kmlebedev in #3796Mastermaster server graceful stop by @kmlebedev in #3797configure raft metrics by @kmlebedev in #3798metric shows who is currently blocking the cluster or not by @kmlebedev in #3799Volume ServerParallelize volume loading from different dirs during startup. by @kvaster in #3802fix bug with snowflake id geneartion: compact_map get error mismatching cookie by @binbinshi in #3748FUSE mountFix mount -t weed with extra options by @BakerBunker in #3807MountRemove mount directory from generating cache directory id #3811 | |
3.32 | 2022年10月17日 | Code Improvements:避免LogBuffer正在停止时候得数据竞争 #3859避免TraverseBfs的数据竞争 #3856 | Volume Server恢复禁用非Mac的FSync #3814优化level db指标 #3830将“hasSlowRead”的默认值设置为true #3710 此值将是默认值,此选项将被删除避免加载具有BytesOffset不匹配的卷文件 #3841保证单调 #3852Javafix bug : 2147483647之后位置时读取错误(当文件大于2GB时引发读取文件错误) #3829Filer获取目录元数据 #3833Filer StoreRedis存储从2个redis操作减少到1个用于更新sqlite序列化sqlite 操作 #3827Master修复通过ctrl+c中断 #3834清理指标和强制同步dst文件 #3832Shellvolume.move 处理卷迁移到云层 #3803volume.tier.upload 清理复制的副本 #3804volume.fsck by volume #3851volume.fsck 热修复补丁应用清除和添加选项验证针 #3861filer.sync 修复无效的内存地址或零指针取消引用 #3826 | Volume Serverrevert disabling FSync for non Mac by @kmlebedev in #3814Optimize leveldb metric by @guol-fnst in #3830Set the default value of "hasSlowRead" to true by @famosss in #3710 This value will be default and this option will be removed.avoid load volume file with BytesOffset mismatch by @kmlebedev in #3841ensure monotonic n.AppendAtNs #3852Javafix bug : read error when position after 2147483647 by @livehl in #3829FilerGet directory metadata by @zemul in #3833Filer StoreRedis stores reduce from 2 redis operations to 1 for updates.Sqlite serialize sqlite operations #3827MasterFix interruption through ctrl+c by @kmlebedev in #3834vacuum metrics and force sync dst files by @kmlebedev in #3832Cloud Tieradd retry when copying data file #3828Shellvolume.move handles volume moved to cloud tier #3803volume.tier.upload clean up replicated copies #3804volume.fsck by volume by @kmlebedev in #3851volume.fsck hotfix apply purging and add option verifyNeedle #3860 by @kmlebedev in #3861filer.sync fix invalid memory address or nil pointer dereference #3826Code Improvements:avoid data race of LogBuffer isStopping by @kmlebedev in #3859avoid data race of TraverseBfs by @kmlebedev in #3856 |
3.33 | 2022年11月1日 | 此版本修复了很长一段时间bug:当创建新的复制卷时,有时由于磁盘空间、磁盘故障或文件句柄有限等原因,其中一个副本创建失败,以前其他成功创建的卷副本不会被清除。但是这些卷没有被使用,因为它们被复制了。因此很快就会创建大量空卷。此版本清除了这些部分复制的卷。 | Master如果创建复制卷失败,删除额外卷如果没有足够的副本避免被清理 #3924Volume Server在ReplicatedWrite中UploadData复制时添加Content-MD5标头 #3881ReadNeedleMeta 修复发生的恐慌 #3883确保没有变化的 n.AppendAtNs 在每个地方 #3880Shell避免修复缺失的已删除针 #3909[voluche.chek.disk] 超过截止时间的针还没有丢失 #3922[volume.chek.disk] 同步删除修复 #3923weed fix 添加忽略错误参数 #3918 | This release fixed a long time bug: when creating new replicated volumes, sometimes one of the replica creation fails because of disk space, failed disk, or limited file handles, etc. Previously the other successfully created volume replicas are not purged. But these volumes are not in use since they are under replicated. So a lot of empty volumes are created quickly. This release purges these partially replicated volumes.MasterRemove extra volume if creating one of the replicated volumes failed.avoid vacuum if not enough replica copies by @kmlebedev in #3924Volume Serveradd Content-MD5 header when UploadData to replication in ReplicatedWrite by @paochiang in #3881ReadNeedleMeta recovery panic occurred by @kmlebedev in #3883ensure monotonic n.AppendAtNs in each place by @kmlebedev in #3880OtherCorrected the dashboard to use the new series name. by @egguy in #3887fix volume statefulset helm chart's tolerations by @theRealWardo in #3911S3Fix err info for ErrMalformedDate by @guol-fnst in #3893fix: set user metadata key to lowercase by @famosss in #3894fix: isTruncated returns problematic by @famosss in #3907Shellavoid fix missing of deleted needles by @kmlebedev in #3909[voluche.chek.disk] needles older than the cutoff time are not missing yet by @kmlebedev in #3922[volume.chek.disk] sync of deletions the fix by @kmlebedev in #3923weed fix add param for ignore error by @kmlebedev in #3918 |
3.34 | 2022年11月7日 | Shell[volume.fsck] 从卷服务器检查针状态 #3926[volume.fsck] 参数volmeId使用逗号分隔的卷id #3933[volume.fsck] 在没有截止时间的情况下收集ID,以便从卷中查找缺失的数据 #3934[filer.backup] add retention_duration by @zemul in #3941 | Shell[volume.fsck] check needles status from volume server by @kmlebedev in #3926[volume.fsck] param volumeId is comma separated the volume id by @kmlebedev in #3933[volume.fsck] collect ids without cut off time for finding missing data from volumes by @kmlebedev in #3934[filer.backup] add retention_duration by @zemul in #3941S3Bug fix: empty key in DeleteMultipleObjects request caused bucket delete by @pavelzhurov in #3939filer.remote.sync fix sync to azure with metadata and ContentType by @kmlebedev in #3949 | |
3.35 | 2022年11月14日 | Filer Store跳过禁用的位置特定文件器存储初始化 #3971Filer UI文件名转义uri #3969filer.remote.sync 在x-amz-meta标题中用下划线替换破折号 #3965Volume Server懒惰装载(使用level db作为文件后端时延迟加载) #3958 | Filer Storefiler store: skip disabled location specific filer store initialization #3971Filer UIfile name escape uri #3969filer.remote.sync Replace dashes with underscores in x-amz-meta headers by @aronneagu in #3965Volume ServerLazy loading by @guol-fnst in #3958S3feat:add a uuid after uploadid by @famosss in #3963fix 'NoSuchUpload' when upload part by @shichanglin5 in #3968 | |
3.36 | 2022年12月5日 | Volume Server在ReadAllNeedles中包含meta #3991在ReadAllNeedles中包含name/mime #4005Filer修复丢失内容编码元数据 #4010当Filer上的文件不存在时,从远程返回ETag #4025Metrics[metrics]添加控制绑定ip的能力 #4012Shellvolume.list 仅显示来自指定dc/Rack/dn的卷 #4024 | Volume ServerInclude meta in ReadAllNeedles by @jameshartig in #3991Include name/mime in ReadAllNeedles by @jameshartig in #4005Filerfix: Lost Content-Encoding metadata by @famosss in #4010Return ETag from remote when file doesn't exist on Filer by @aronneagu in #4025Metrics[metrics] Add the ability to control bind ip by @JiffsMaverick in #4012S3avoid recursive deleting newly created empty directories by @kmlebedev in #4016Shellvolume.list show volumes only from the specified dc/rack/dn by @kmlebedev in #4024 | |
3.37 | 2022年12月12日 | 日志轮替功能 | Mount修复硬链接计数 #4042Fix a bug introduced by @chrislusf in #4035Filer修复引入的bug #4039filer.sync 从远程存储下载时添加块标签 #3987 | Rotate log files.MountFix hardlink counting by @wusongANKANG in #4042Fix a bug introduced by @chrislusf in #4035FilerFix uri escape during renaming by @JiffsMaverick in #4039filer.sync add chunk etag when downloading from remote storage #3987 |
3.38 | 2023年1月3日 | 这个版本有一个更可靠的FUSE挂载实现。#4089中修复了多个错误。这是通过在挂载目录上运行虚拟机来测试的。它基本上是对10s GB的大文件的随机读写过程。 | FUSE Mount更牢靠的weed 挂载 #4089weed shell fs.verify 文件针头状态 #4060支持启用/禁用自动清理 #4087 | This release has a much more solid FUSE mount implementation. There are multiple bugs fixed in #4089. This was tested by running a virtual machine on top of the mounted directory. It is basically a random read and write process on a large file in 10s of GB.FUSE Mountmore solid weed mount by @chrislusf in #4089S3 APIsort tags by key by @shichanglin5 in #4047fix response not allowed by @shichanglin5 in #4057WebDAVadd -filer.path to webdav command by @lfhy in #4061Helm ChartsFixes: 4076: Host path prefix should be configurable by @nadenf in #4077Fixes 4074: S3 Gateway fails to start when installed via Helm by @nadenf in #4075Add logtostderr option in helm chart by @Programmeris in #4080weed shell fs.verify needles status of file by @kmlebedev in #4060support enable/disable vacuum by @guol-fnst in #4087MiscFix ide warning by @guol-fnst in #4082add more help message, in case of misunderstanding by @guol-fnst in #4092Filer Storefiler.store.mysql: Escape table columns in SQL query by @CommanderRoot in #4095filer.store.mysql: Replace deprecated upsert syntax by @CommanderRoot in #4096filer.store.mysql: Use utf8mb4 instead of 3 byte UTF8 by @CommanderRoot in #4094 |
3.39 | 2023年1月9日 | Mount对大文件进行更快的写入操作Filer处理流读取器中的偏移量变化 #4112Volume Server批量删除EC针 #4107 | MountFaster write operation on large filesFilerHandle offset change in stream reader #4112Volume Serverbatch delete EC needles #4107Miscadd mount log by @zemul in #4101add code of conduct by @wzrdtales in #4109Add image cropping. by @monchickey in #4117 | |
3.40 | 2023年1月16日 | 在此版本中,FUSE挂载写入性能得到了提高。文件大小越大,保存越多。以前对文件块有一个O(n)操作,对于每个文件同步操作。这个版本消除了这个瓶颈。 | Mount上传时合并块 #4130通过跳过代价高昂的不必要操作来提高写入性能修复了几个case | In this release, the FUSE mount write performance is improved. The larger the file size, the more saving. Previously there was an O(n) operation on file chunks, for each file sync operation. This version removed this bottleneck.Mountmerge chunks during upload by @chrislusf in #4130Improve write performance by skipping an costly unnecessary operationFixed a couple of nil casesFiler Storemysql: Missed escaping column name #4129Miscuse time.NewTicker instead of time.Tick. by @guol-fnst in #4119 |
3.41 | 2023年1月30日 | Shell添加命令fs.meta.changeVolumeId 以更改所有文件中的卷idMount写入大文件时减少内存使用修复重命名过程中的元缓存更新 #4161 | ShellAdd command fs.meta.changeVolumeId to change volume id in all files.MountReduce memory usage when writing large files.fix metacache update during renaming by @wusongANKANG in #4161S3fix IAM deletion #4144 by @guol-fnst in #4158MiscUse semver 2 in Chart.yaml by @cr1cr1 in #4142 | |
3.42 | 2023年2月6日 | Filer系统日志目录不创建订阅事件 #4172Remote Storage添加对B2区域的支持 #4177 | Mountmemchunk save content twice by @wusongANKANG in #4174minor: delete redundant code by @wusongANKANG in #4173S3make directory lister trigger if mime type is httpd/unix-directory by @elee1766 in #4169HDFS on S3Fix HDFS client copying large files to S3 API with MultipartUpload #4170Filersystem log dir does not make subscribe event by @neo-v in #4172filer.remote.sync filer.remote.sync on a S3 cloud mount #4175Remote Storageadding support for B2 region by @hallaj in #4177 | |
3.43 | 2023年2月21日 | filer.remote.sync 修复空文件内容 #4194Volume Server修复复制写入错误时的返回 #4188FUSE MountFix 读取文件数据 in entry.content #4207weed shell 修复在plac中使用s3分层平衡卷时的错误 #4195 | filer.remote.sync fix empty file content #4194Volume ServerFix return if Replicate write error by @neo-v in #4188S3s3 bucket name verification by @lyang24 in #4189FUSE MountFix read file-data in entry.content by @wusongANKANG in #4207CSI Drivercompatibility patch for csi driver by @washcycle in #4208 #4217Helm ChartAdded helm chart publish github actions to github pages on tagging by @washcycle in #4219weed shell Fix bugs when balancing volumes with s3 tiering in place #4195 | |
3.44 | 2023年3月20日 | Filer添加-disk到filer命令 #4247fix chunk.ModifiedTsNs #4264filer添加私密环境 (k8s加密挂载) #4284如果dir已经存在,则将http状态码设置为409 #4287filer未设置defaultReplication to the defaultReplication #4315Filer UI defaults to aFiler UI默认为 -DirListingLimit #4258Volume Serverfix_read_tomb_needle_meta by #4263weed mount 跳过挂载中的父目录创建 #4310Master如果标记为只读,修复找不到卷 #4088修复-raftHashicorp和-raftBootstrap标志传播 #4309使用指数退避去查询领导者 #4313重试直到选择领导者 #4318weed shell Fs.verify.concurrency #4293 | S3Fix s3api_object_list_handlers returning contents less than the specified limit when more data actually exists by @shichanglin5 in #4240Fileradd -disk to filer command by @lfhy in #4247fix chunk.ModifiedTsNs by @zemul in #4264added secret envs to filer by @washcycle in #4284set http status code to 409 if dir already exists by @rohitchormale in #4287The filer does not set defaultReplication to the defaultReplication o… by @shichanglin5 in #4315Filer UI defaults to a -DirListingLimit #4258 (this is subject to further changes)Heml ChartHelm Chart Documentation and CI Updates by @washcycle in #4243Official Artifact Hub Metadata Resources by @washcycle in #4257Volume Serverfix_read_tomb_needle_meta by @zemul in #4263weed mount Skip parent directory creation in mount by @Woellchen in #4310MasterFix volume not found if marked as read only #4088Fix -raftHashicorp and -raftBootstrap flag propagation. by @stewartmiles in #4309Use exponential backoff to query leader. by @stewartmiles in #4313Retry until a leader is selected. by @stewartmiles in #4318weed shell Fs.verify.concurrency by @kmlebedev in #4293MiscFix binding metrics to ipv6 by @nivekuil in #4286Updated the deprecated ioutil dependency by @zachary-walters in #4239fix(weed/topology/node.go): typo in error message by @tnyeanderson in #4292 | |
3.45 | 2023年4月3日 | FUSE Mountweed 挂载默认打开ACL,支持chmod chown #4335更新条目 Attributes.Mtime = time.Now().Unix() #4337Master避免小写命令 #4321为raft 添加验证配置 #4332Filer修复当使用fs.configure复制路径时密钥损坏 #4353 | FUSE Mountweed mount default EnableACL,Support chmod chown by @renweijun in #4335update entry Attributes.Mtime = time.Now().Unix() #4337Masteravoid lowercasing commands #4321add validate config for raft by @kmlebedev in #4332Filerfix key corrupt when fs.configure copy path trie by @shichanglin5 in #4353Minorstyle: clerical error by @wusongANKANG in #4361Update artifacthub-repo-stable.yml by @washcycle in #4330 | |
3.46 | 2023年4月17日 | Mount挂载实现并发读取 #4400更新fuse客户端日志,该日志输出 FileHandle in #4404Shell文件路径配置TTL验证 #4376将值的正则表达式调整为从1到255 #4377 | MountMount concurrent read by @zemul in #4400update fuse client log which should output the fh of FileHandle. by @chengyu-l in #4404ShellFile Path Configuration TTL Validation by @washcycle in #4376adjusted regex to be from 1 to 255 for the value by @washcycle in #4377Helm Chartsfix(chart): use hostpath filer persistence when deprecated enablePVC is unset by @samcday in #4384Fixing a service deployment bug by @ProjectInitiative in #4392fix(chart): use filer data PVC correctly by @samcday in #4398S3s3 fix get fake dir object key by @kmlebedev in #4390s3 fix get list of dir object key with slash suffix by @kmlebedev in #4391fix test prefix is a directory by @kmlebedev in #4393try fix s3test test_bucket_listv2_delimiter_prefix by @kmlebedev in #4396fix s3test test_bucket_listv2_delimiter_prefix_ends_with_delimiter by @kmlebedev in #4399 | |
3.47 | 2023年4月24日 | FUSE mountmount: 为只读大小添加重试 #4416可写文件不一致 #4417[mount]修复复制文件范围 #4407weed shellec.decode 修复卷服务器有多个目录时的解码错误s #4365 | Remote Volume StorageRclone storage backend by @dalbani in #4402Miscuse env for flags with dot in name by @SmsS4 in #4415FUSE mountmount: add retry for read only case by @wusongANKANG in #4416Writables inconsistency by @wusongANKANG in #4417[mount]Fix copy file range by @zemul in #4407weed shellec.decode` fix decoding error when a volume server has multiple directories #4365Remote Object Store Gatewayreset local file content if remote file is updated #4289 | |
3.48 | 2023年5月1日 | Volume Server使用sync.pool 读取卷范围 #4422Filer允许仅删除旧的空目录而不递归 #4430Fix: http重命名将目录移动到子目录 #4432[Filer] 发布添加参数:saveInside #4434 | Volume ServerVolume range read use sync.pool by @zemul in #4422Filerallow deleting only older empty dir without recursion by @kmlebedev in #4430Fix: http rename move dir to subdir by @wusongANKANG in #4432[Filer] post add param:saveInside by @zemul in #4434 | |
3.50 | 2023年5月10日 | Raft更新到seweedfs/raft v1.1.3以修复索引越界问题 seaweedfs/raft#7Shell修复 shell volume.balance bug #4447 | RaftUpdate to seaweedfs/raft v1.1.3 to fix index out-of-bounds issue seaweedfs/raft#7Shellfix shell volume.balance bug by @themarkchen in #4447 | |
3.51 | 2023年5月22日 | Master修复当磁盘可用空间足够时,没有可写的卷 #4491 | Filer StoreEtcd: support username/password authentication for etcd filer store s… by @mhameed in #4477Etcd: etcd filer store keys should have customizable prefix by @mhameed in #4484Filer/S3Use filerGroup for s3 buckets collection prefix by @SmsS4 in #4465support swift by @mervynzhang in #4480Masterfix no more writables volumes while disk free space is sufficient by @wusongANKANG in #4491OtherFix build binary for windows. | |
3.52 | 2023年6月5日 | Master减少取消注册卷服务器和在该服务器上创建卷之间的窗口大小 #4467Filer添加错误句柄返回 #4502修复文件上传的死锁 #4527 | Masterreduce the window size between unregistering a volume server and creating volumes on that server #4467Fileradd return for error handle by @wusongANKANG in #4502fix deadlock for filer upload by @wusongANKANG in #4527S3S3 TLS credentials Refreshing by @kmlebedev in #4506 | |
3.53 | 2023年6月26日 | Master通过延迟判断修复不再可写的卷 #4548fix: 删除新创建的卷 #4551, #4561, #4573心跳检测死锁 #4558Volume Server避免数据竞争读取 volume.IsEmpty #4574doIsEmpty() 如果返回错误 v.DataBackend is nil #4587Filer修复404未找到问题 (mount方式) #4536避免用nil值重写非 uploadReaderToChunks.uploadErr#4560修复获取文件统计信息 #4576 | MasterFix no more writable volumes by delay judgment by @wusongANKANG in #4548fix: deletes newly created volumes by @kmlebedev in #4551, #4561, #4573Healthz check for deadlocks by @kmlebedev in #4558Volume Serveravoid data race read volume.IsEmpty by @bai-jie in #4574doIsEmpty() return error if v.DataBackend is nil by @bai-jie in #4587Helm ChartHelm chart fixes: by @werdnum in #4539Fix Helm chart enableSecurity flag by @werdnum in #4537chart with optional https port for s3 by @kmlebedev in #4507Add secret support for filer environment variables. by @werdnum in #4538Filerfix 404 not found by @wusongANKANG in #4536avoid overwriting non-nil uploadReaderToChunks.uploadErr with nil value by @bai-jie in #4560fix get file stats for IsEmpty by @kmlebedev in #4576S3optional https port for s3 by @kmlebedev in #4482Dashboardfeat: Add datasource as variable by @achetronic in #4584Cloud-Tier StorageSupport templating name of files stored via Rclone backend by @dalbani in #4606 | |
3.54 | 2023年7月17日 | Filer启动第二个Filer引导程序夯住问题 #4639Volume Server修复DataBackend nil指针 #4641调整后刷新最大卷数量 #4662fix copying level db files during commit #4635Mount修复提交期间复制级别db文件的问题 #4664在filer上创建挂载根 seaweedfs/seaweedfs-csi-driver#127Shell克隆卷位置以防更改 #4642主节点和weed shell 环境变量不支持自定义gRPC端口 #4607 | S3Unix Socket listener for S3 server by @yeganemehr in #4621Fix the segment fault from not setting s3 https port by @hencoappel in #4667Fix S3 API multipart upload on Windows by @hencoappel in #4666FilerSecond filer bootstrap hanging #4639Volume ServerFix DataBackend nil pointer by @wusongANKANG in #4641refresh max volume count after adjust by @shichanglin5 in #4662fix copying level db files during commit #4635MountFix data racing: add lock for meta cache by @wusongANKANG in #4664create mount root on filer seaweedfs/seaweedfs-csi-driver#127filer.remote.gateway Concurrency works better by @mervynzhang in #4663Shellclone volume locations in case they are changed #4642Custom gRPC ports not honored by master.peers and weed shell env vars #4607MinorFix buff use by @wusongANKANG in #4628README.md: minor fixes by @natmaka in #4652avoid logging nil error by @kmlebedev in #4659 | |
3.55 | 2023年7月24日 | Mount修复错误删除的大文件块 #4678 | MountFix large file chunks deleted by mistake by @wusongANKANG in #4678S3 APIs3api should return 500 code from filer by @SmoothDenis in #4699Helm ChartAdd variabilisation of RBAC by @armandleopold in #4692Go modulepatch go-m1cpu to build with macOS < 12 by @chenrui333 in #4679 | |
3.56 | 2023年9月11日 | Volume Server修复资源泄漏 #4737快速保存磁盘空间指标 #4740weed/storage/erasure_coding: 错误处理修复 #4819Master为filer实现SRV查找 #4767添加流API分配文件id以减少连接开销Metrics将主服务器添加到grafana仪表板 #4801Java APISeaweedOutputStream添加选项以传入集合Mount添加单独的缓存目录 -cacheDirWrite 用于写入缓冲区Minorminor #4723更新weed修复描述 #4745weed/util: 修复删除的错误 #4803 | Volume ServerFix resource leaks by @Zamony in #4737Save disk space metrics immediately by @Zamony in #4740weed/storage/erasure_coding: Error Handling Fixes by @alrs in #4819MasterImplement SRV lookups for filer by @Cottand in #4767Add stream API to assign file id to reduce connection overhead.Helm Chartfix: replace volume.pvc_exists with master.pvc_exists by @togettoyou in #4762fix bugs: seaweedfs master ingress host configuration do not work by @gfhe in #4781[helm] add possibility to use array for imagePullSecrets by @tikhon-opsfleet in #4782[helm] fix log to stderr and default host for ingress by @Dimonyga in #4787[heml] complete redesign of labels by @Dimonyga in #4788k8s: allow configuring serviceAccountName by @aviau in #4790helm: allow setting master.toml config by @aviau in #4797[heml] fix default affinity and allow owerride ingress annotations by @Dimonyga in #4799improve k8s probes templating in helm chart by @Programmeris in #4805S3 APIImprove S3 request signing performance by @Woellchen in #4148Fix s3.clean.uploads by @SmsS4 in #4766Add time to first byte metric for s3 by @SmsS4 in #4768ErrInvalidPart when completed parts has extra parts. #4746MetricsAdd master servers to grafana dashboard by @ginn13 in #4801Java APISeaweedOutputStream add option to pass in collection.Mountadd separate cache directory -cacheDirWrite for write buffers.Minorminor by @wusongANKANG in #4723Update weed fix description by @SmsS4 in #4745weed/util: fix dropped errors by @alrs in #4803 | |
3.57 | 2023年9月25日 | FUSE Mount修复挂载写入代理filer #4840每个文件句柄的有序读写锁Minor避免按值传递锁 #4839fix: weed/storage: 掉线错误 #4841 | S3 APIFix s3 api object list with params max-keys and prefix by @annluda in #4834[s3] optimization iam lookup for reducing algorithm complexity by @kmlebedev in #4857[s3acl] Step 0: Put bucket ACL only responds success if the ACL is private. by @kmlebedev in #4856[iam] Replace action read/write to readAcp/writeAcp for handlers with acl by @kmlebedev in #4858FUSE MountFix mount write proxy filer by @zemul in #4840Ordered read write locks for each file handleHelm ChartsWrong default value for volume.resource by @armandleopold in #4855Minoravoid pass lock by value by @wusongANKANG in #4839fix: weed/storage: dropped error by @alrs in #4841 | |
3.58 | 2023年10月30日 | Volumefix: make dev_tls with volume https #4866weed/replication/sub: 修复掉线错误 #4865fix: 写入文件时避免错误文件名太长 #4876Erasure Coding: volumes created by foreign collection due to bug in ec balance #4864Shellfix: 避免删除多个副本 #4873fix: 避免在不同步的情况下删除一个副本 #4875fix: 记录器位置消息 #4880fix: 目前跳过检查具有相同数量文件的活动卷 #4893添加 fs.mergeVolumes 命令到shell #4907如果删除结果大小等于零,则修复更改为假 #4909Miscweed/operation: 修复掉线错误 #4888Fix filer.backup local sink to propagate file mode changes by @werdnum in #4896Go语言版本1.21.3 #4911添加可选标志 to enable mTLS with 验证客户端证书 #4910使用WARP添加make基准测试 #4914see_dat添加打印名称 #4930Filer添加监控的端点到filer #4899Filer StoreFix: Filer的tikv文件存储的前缀查询错误 #4952 | Volumefix: make dev_tls with volume https by @kmlebedev in #4866weed/replication/sub: fix dropped error by @alrs in #4865fix: avoid error file name too long when writing a file by @kmlebedev in #4876Erasure Coding: volumes created by foreign collection due to bug in ec balance by @wzrdtales in #4864S3[s3acl] Step1: move s3account.AccountManager into to iam.S3ApiConfiguration by @kmlebedev in #4859remove compare to fix #4668 issue by @lakeland1990 in #4924[s3] do reload s3 static config by @kmlebedev in #4923fix copying .vif file in VolumeCopy by @zehweh in #4943Shellfix: avoid deleting more than one replica by @kmlebedev in #4873fix: avoid deleting one replica without sync by @kmlebedev in #4875fix: logger place msg by @kmlebedev in #4880fix: skipping checking active volumes with the same number of files at the moment by @kmlebedev in #4893add fs.mergeVolumes command into shell by @yeganemehr in #4907fix has changes false if deleted result size eq zero by @kmlebedev in #4909Helm ChartsAllow override internalTrafficPolicy by @aronneagu in #4877add ingress for seaweedfs s3 by @Programmeris in #4887Helm chart jwt signing configuration by @yuvalyacoby in #4894Helm use external certificates by @yuvalyacoby in #4913Remove hardcoded podManagmentPolicy value in a helm chart by @Programmeris in #4941Miscweed/operation: fix dropped error by @alrs in #4888Fix filer.backup local sink to propagate file mode changes by @werdnum in #4896golang up version to 1.21.3 by @kmlebedev in #4911Add optional flags to enable mTLS with verification of client certificate by @jameskhedley in #4910add make benchmark with WARP by @kmlebedev in #4914see_dat add print name by @binbinshi in #4930Fileradded healthz endpoint to filer by @yuvalyacoby in #4899Filer StoreFix: Filer's tikv filestore's prefix query error #4950 by @duanhongyi in #4952 | |
3.59 | 2023年11月13日 | Volume Server将ErrorGetNotFind和ErrorGet内部添加到卷服务器指标 #4960修复两次增加公制计数器 #4961Replace an invalid method in a metric with an invalid one by #4987Shellfix isMisplaced() in command_volume_fix_replication.go #4988ec.decode: 挂载收集到的ec分片 #4995 | Volume ServerAdd ErrorGetNotFound and ErrorGetInternal to volume server metrics by @SmsS4 in #4960Fix twice increase metric counter by @SmsS4 in #4961Replace an invalid method in a metric with an invalid one by @kmlebedev in #4987Helm ChartsAdd podLabels & podAnnotations to all pods by @tehasdf in #4959S3 APIPass correct Filer's gRPC port to S3 server. by @tired-engineer in #4972chore(tests): update S3 compat tests by @t3hmrman in #4992WebDAVrefactor webdav subdirectory, fixes #4967 by @Cottand in #4969weed/server: fix dropped webdav error by @alrs in #4990Shellfix isMisplaced() in command_volume_fix_replication.go by @zehweh in #4988ec.decode: mount the collected ec shards by @cctags in #4995 | |
3.60 | 2024年1月2日 | FUSE Mount等待写入完成获取的锁可能会导致死锁 https://github.com/seaweedfs/seaweedfs/pull/修复长期增加RSS内存使用的OOM #5082Weed Fix修复 weed fix #5020Filer在配置中设置允许的来源 #5109chore: 添加dsn以连接到mysql #5060[filerstore] 只有当错误包含msg“重复条目”时,mysql才会回退更新 #5085添加使用仅HTTP cookie中发送的JWT的方法 #5077验证标头中的content-md5 #5016Shellshell元数据添加并发加载 #4529Add modifyTimeAgo to volume.fsck #5133Fix cutoffTimeAgo in findMissingChunksInFiler #5132fs.mergeVolumes: 根据卷的大小制定计划#4999fs.mergeVolumes: 将目录更改为命名参数#5003Filer Backupfiler备份添加选项,用于排除与regexp匹配的文件名以在filer上同步 #5002fix: 为文件备份添加doDeleteFile选项 #5018Filer Remote SyncUsing filer.remote.sync concurrency in filer.remote.gateway #5123远程网关错误修复 #5100修复错误的选项 #5102Filer Copy添加选项 filer.copy 使用公共卷服务器url #5126MinorMinor cleanup & gitignore update #5144weed/server: remove unneeded err from streamReadOneVolume() signature #5143weed/storage: fix dropped test errors #5083logging PickForWrite error #4920fix TestMisplacedChecking() and add test-case #5040weed/command: fix dropped error #5027Fix shell 'help' for all commands #5000 | FUSE MountWaiting for writes to complete with acquired lock may lead to deadlock by @kvaster in https://github.com/seaweedfs/seaweedfs/pull/Fix OOM from increasing RSS memory usage on long term #5082Weed FixFix weed fix by @SmsS4 in #5020FilerSet allowed origins in config by @jerebear12 in #5109chore: add dsn for connection to mysql by @kmlebedev in #5060[filerstore] mysql falls back to update only if error contains msg "duplicate entry" by @kmlebedev in #5085Add a way to use a JWT sent in an HTTP only cookie by @jerebear12 in #5077verify content-md5 in header by @julor in #5016S3[s3api] add default response for GetBucketVersioning by @kmlebedev in #4998Helm Chartsfix: k8s-chart-helm master metrics scraping by @sberthier in #5142Fix: helm: remove deprecated values that caused helm template error for post install hook by @jessebot in #5108Update helm_ci.yml - add ct flag --target-branch ${{ github.event.repository.default_branch }} by @jessebot in #5106#5122 Add support for sidecar containers by @Davidsod in #5125Always include volumes in statefulsets by @dzsibi in #5081Helm: add post install hook to support creating default buckets by @cloudymax in #5048Use global.serviceAccountName to populate ServiceAccount , ClusterRole , and ClusterRoleBinding by @jessebot in #5049support tls in master-ingress by @Programmeris in #4946Helm chart: Allow existing S3 config secret for the filer statefulset and the s3 deployment by @jessebot in #5039Enable support for Restic-based tools (K8up, Velero) to perform backup and restore operations by @cloudymax in #5034Update helm_chart_release.yml - run helm chart release on push to master on changes to k8s/chart files by @jessebot in #5035helm chart: fix annotations templating for s3.ingress.annotations and document it and s3.ingress.tls in values.yaml by @jessebot in #5023[helm] fix: use metricsPort correctly by @niuqg in #5010Shellshell meta load add concurrency by @kmlebedev in #4529Add modifyTimeAgo to volume.fsck by @SmsS4 in #5133Fix cutoffTimeAgo in findMissingChunksInFiler by @SmsS4 in #5132fs.mergeVolumes: Make a plan based on volumes size by @yeganemehr in #4999fs.mergeVolumes: change dir to a named parameter by @yeganemehr in #5003Filer Backupfiler backup add option for exclude file names that match regexp to sync on filer by @kmlebedev in #5002fix: add doDeleteFile option for filer backup by @kmlebedev in #5018Filer Remote SyncUsing filer.remote.sync concurrency in filer.remote.gateway by @itsfarbod in #5123Remote gateway Bug fix by @itsfarbod in #5100Fix wrong option #5102Filer CopyAdd option to filer.copy with public volume server url #5126MinorMinor cleanup & gitignore update by @varunu28 in #5144weed/server: remove unneeded err from streamReadOneVolume() signature by @alrs in #5143weed/storage: fix dropped test errors by @alrs in #5083logging PickForWrite error by @kmlebedev in #4920fix TestMisplacedChecking() and add test-case by @zehweh in #5040weed/command: fix dropped error by @alrs in #5027Fix shell 'help' for all commands by @yeganemehr in #5000 | |
3.61 | 2024年1月8日 | Filer修复v3.60 bug : panic: runtime error: invalid memory address or nil pointer dereference #5153Filer Syncchore: Filer同步为仅创建模式添加doDeleteFiles选项 #5166 | FilerFix v3.60 bug : panic: runtime error: invalid memory address or nil pointer dereference #5153WebDAVfix: return etag with md5 in webdav responses by @kmlebedev in #5158fix: webdav avoid create empty files by @kmlebedev in #5160chore: add maxMB option for webdav by @kmlebedev in #5165S3 APIFix missing VersionConfiguration node in get-bucket-versioning response by @kmlebedev in #5162Filer Syncchore: filer sync add doDeleteFiles option for create only mode by @kmlebedev in #5166 | |
3.62 | 2024年1月16日 | Filer删除了有问题的if语句 #5180chore: 为request_total指标添加状态代码 #5188Volume Server修复写入量超过MaxPossibleVolumeSize大小 #5190大小不匹配时可以清理volume #5200factor in existing ec volume count when estimating max volume count #5191Filer.sync修复filer同步集偏移 #5197修复 doDeleteFiles 删除文件 #5198 | FilerRemoved problematic if statement by @jerebear12 in #5180chore: add status code for request_total metrics by @kmlebedev in #5188Volume Serverfix write volume over size MaxPossibleVolumeSize by @kungf in #5190can vacuum volume when size mismatch by @kungf in #5200factor in existing ec volume count when estimating max volume count #5191Filer.syncFix filer sync set offset by @kmlebedev in #5197Fix doDeleteFiles deletes files by @kmlebedev in #5198 | |
3.63 | 2024年2月26日 | Filer[filer] 避免为不允许的方法返回http ok #5209chore: filer 健康处理程序检查filer存储 #5208更新找不到文件时的解决方案 #5223filer: 减少删除条目ErrNotFind日志 #5301fix: http范围请求返回状态500 #5251Shellweed/shell: 修复 volume.balance 命令逻辑 #5238weed/shell: 清理卷平衡逻辑 #5241weed/shell: 集群检查其他磁盘类型 #5245修复: fs验证错误计数器 @kmlebedev in #5261Volume Server为每个卷服务器启用多个磁盘. 还简化了使用 /logs & /idx #5236[volume] 被客户端取消的请求不是内部服务器问题(500 => 499) #5304weed/storage: 修复卷信息文件权限 #5246避免意想不到的小尺寸 #5272Masterfix: clean metric MasterReplicaPlacementMismatch for unregister volume by @kmlebedev in #5239Mount修复/错误挂载路径更好的默认值 #5253fix unaligned 64-bit atomic operation in weed mount on arm when readi… by @chrislusf in #5308 | Filer[filer] avoid return http ok for not allowed methods by @kmlebedev in #5209chore: filer healthz handler check filer store by @kmlebedev in #5208Update the solution when a file cannot be located. by @LuuucasChen in #5223filer: reduce delete entry ErrNotFound logs by @sberthier in #5301fix: http range request return status 500 by @sberthier in #5251Helm ChartFix(k8s-chart-helm): helm upgrade statefulset error by @sberthier in #5207fix: publish helm chart at new release by @sberthier in #5265fix helm install error for No such file or directory by @cuisongliu in #5250helm enable resource for template by @cuisongliu in #5268helm using external master address by @cuisongliu in #5267k8s-chart-helm: unify extraEnvironmentVars by @sberthier in #5327Shellweed/shell: Fix volume.balance logic by @BenoitKnecht in #5238weed/shell: Cleanup volume balance logic by @BenoitKnecht in #5241weed/shell: Cluster check other disk types by @BenoitKnecht in #5245fix: fs verify error counter by @kmlebedev in #5261S3fix: skip s3 .uploads by @bernardx in #5216fix: s3tests test_get_object_ifnonematch_good by @kmlebedev in #5237Adapt S3 POST ContentType by @sxlehua in #5275Add s3 postpolicy support header by @sxlehua in #5280Fix/s3 config secret by @spastorclovr in #5302fix: only admin auth can delete S3 bucket by @7y-9 in #5312refactor: put the auth outside by @7y-9 in #5313Volume ServerEnable multiple disks per volume server. Also streamline the use of /logs & /idx by @spastorclovr in #5236[volume] requests that were canceled by the client are not an internal server problem(500 => 499) by @kmlebedev in #5304weed/storage: Fix volume info file permissions by @BenoitKnecht in #5246avoid unexpected compact size by @kmlebedev in #5272Masterfix: clean metric MasterReplicaPlacementMismatch for unregister volume by @kmlebedev in #5239MountFix/bad mount path better default value by @spastorclovr in #5253fix unaligned 64-bit atomic operation in weed mount on arm when readi… by @chrislusf in #5308Minorchore: fix typos in scaffold help output by @andrewazores in #5211Update README.md by @eltociear in #5282Fix Broken Links by @justindhillon in #5287 | |
3.64 | 2024年3月17日 | Filer在配置中禁用filer UI #5297[filer] replace an invalid methods in a metric with an invalid one by #5378MountMoved noapplexattr under runtime.GOARCH == "amd64" to resolve the fin… #5351Shell[shell] fs 日志清除 #5344Volume将已删除的字节添加到total_disk_size #5161Filer Backup[filer.backup] 添加参数uploader_part_size S3sink n #5352 | FilerDisable filer UI in configuration by @jerebear12 in #5297[filer] replace an invalid methods in a metric with an invalid one by @kmlebedev in #5378MountMoved noapplexattr under runtime.GOARCH == "amd64" to resolve the fin… by @Bia3 in #5351Shell[shell] fs log purge by @kmlebedev in #5344S3 APIfeat: add support for S3 ListObjects and ListObjectsV2 by @adasauce in #5350VolumeAdd deleted bytes to total_disk_size by @SmsS4 in #5161Filer Backup[filer.backup] add param uploader_part_size for S3sink by @kmlebedev in #5352Minorremove repetitive words by @rustrover in #5364Document default method used by compact by @SystemZ in #5379 | |
3.65 | 2024年4月15日 | Filer修复获取文件元数据bug #5394添加TLS支持,初始etcd连接检查,修复key_prefix处理etcd后端元存储 #5403修复filer地址解析 #5415在etcd元存储后端 移除 ListDirectoryEntries logic to ListDirectoryPrefixedEntries #5416fix: 调整prefixFilterEntries条件,防止无限循环 #5440fix: 确保在doListFilerEntry中完全使用gRPC流以防止上下文取消错误 #5441fix: Filer使用卷服务器进行身份验证 #5480修复附加混乱 #5492Filer Syncfix: 无目录同步 /buckets/some/.uploads/hash_hash #5402Mount修复Getattr块计数 #5409修复git clone进入保险丝安装失败并膨胀:数据流错误 #5412Misc添加对哨兵错误报告的基本支持 #5410chore: 修复注释中的函数名称 #5478chore: 修复评论中的一些错别字 #5497Master[master] add test for PickForWrite add metrics for volume layout #5413修复恐慌 5435#5436[master] 如果当前数据中心中没有可写卷,则增加卷 #5434修复恐慌 isAllWritable by @kmlebedev in #5457Volume Server修复: 始终关闭卷文件 (#4530) #5459卷日志和idx值的正确类型 #5462fix(volume.fix.replication): 调整volume计数,而不是空闲volume计数 #5479[volume] 减少上传一个块的缓冲区数量#5458 | Helm ChartHelm chart readme - clarify details about multiple filers and datastore by @tomeresk in #5384helm chart: make s3 ingress annotations consistent by @mergwyn in #5463Filerfix get file metadata bug by @jerebear12 in #5394Add TLS support, initial etcd connection check, fix key_prefix handling for etcd backend meta storage by @sample in #5403fix filer address parsing by @doc-sheet in #5415Move ListDirectoryEntries logic to ListDirectoryPrefixedEntries in etcd meta storage backend by @sample in #5416fix: adjust condition in prefixFilterEntries prevent infinite loop by @sample in #5440fix: ensure complete gRPC stream consumption in doListFilerEntries to prevent context canceled errors. by @sample in #5441fix: filer authenticate with with volume server by @hencoappel in #5480fix append disorder by @kungf in #5492Filer Syncfix: sync without dir /buckets/some/.uploads/hash_hash by @kmlebedev in #5402Filer Replicationfix: panic: assignment to entry in nil map on S3Sink.CreateEntry by @kmlebedev in #5406S3Fix iam service response 500 by @zuzuviewer in #5405fix s3api: delimeter properly takes prefixes into account by @adasauce in #5411[tests] add action s3 tests by @kmlebedev in #5427fix completed multiupload lost data by @kungf in #5460fix: correctly form partNumber from new entry.Name format in "listObjectParts" by @sample in #5470[s3] fix s3 test_multipart_resend_first_finishes_last by @kmlebedev in #5471[s3] add s3 pass test_multipart_upload by @kmlebedev in #5474[s3] add s3 pass test_multipart_upload_size_too_small by @kmlebedev in #5475[s3] fix s3 test_multipart_get_part by @kmlebedev in #5476Mountfix GetAttr blocks count by @wusongANKANG in #5409fix git clone into fuse mount fails with inflate: data stream error #5412Miscadd basic support for sentry error reporting by @doc-sheet in #5410chore: fix function names in comment by @clonefetch in #5478chore: fix some typos in comments by @yudrywet in #5497Master[master] add test for PickForWrite add metrics for volume layout by @kmlebedev in #5413fix panic 5435 by @kmlebedev in #5436[master] grow volumes if no writable volumes in current dataCenter by @kmlebedev in #5434fix panic at isAllWritable by @kmlebedev in #5457Volume Serverfix: always close volume file (#4530) by @hencoappel in #5459Correct type for volume logs and idx values by @mergwyn in #5462fix(volume.fix.replication): adjust volume count, not free volume count by @CodeRusher in #5479[volume] Reduce the number of buffers for uploading one chunk by @kmlebedev in #5458 | |
3.66 | 2024年5月6日 | 此版本在S3删除空文件夹时出现回归。在3.67中修复 | Volume Server重命名 VolumeServerVolumeGauge by #5504fix: 使用TTL跳过文件大小检查卷 #5541Shell修复 "volume.fix.replication" 命令将多个复制仅移动到一个卷服务器 #5522Filer如果状态代码499,filer读取块重试 #5528feat: 无需multipart/form-data直接上传文件 #5539 | This version has a regression on S3 deleting empty folder. Fixed in 3.67Volume Serverrename VolumeServerVolumeGauge by @CodeRusher in #5504fix: skip file size checking for volume with TTL by @kmlebedev in #5541Shellfix "volume.fix.replication" move many replications only to one volumeServer by @kungf in #5522Filerfiler read chunk retry if status code 499 by @kmlebedev in #5528feat: upload files directly without multipart/form-data by @KevinBLT in #5539S3[s3] Put bucket lifecycle configuration by @kmlebedev in #5510Helm Chartshelm: Fix annotations parameters to be standard maps by @jessebot in #5543MinorMigrates from disintegration/imaging c2019 to cognusion/imaging c2024. by @cognusion in #5533Fixes race with unlocked setter. by @cognusion in #5532Fixes unlocked read from logBuffer.LastTsNs that is racey. by @cognusion in #5536Move file deletion logging to v2 verbisity by @sample in #5538reduce ambiguity about use memory_sequencer by @shenxingwuying in #5555 |
3.67 | 2024年5月7日 | S3Fix regression in 3.56: S3 didn't delete empty folder when delete all files in folder after upgrade to 3.66 #5565FUSE MountFix deadlock in lock table locks by @Woellchen in #5566 | ||
3.68 | 2024年6月10日 | Misc添加对OpenBSD的支持 #5578替换grafana仪表板中的硬编码数据源uid #5590允许选择由grafana仪表板可视化的命名空间 #5591使用新时间序列更新Grafana面板 #5595添加为不同组件配置安全上下文的能力 #5600Solaris磁盘支持 #5638 | Volume Server修复: 重新创建索引包括已删除的文件 #5579修复排序针文件的写入模(*SortedFileNeedleMap).Delete() #5633在操作中选择卷时忽略远程(ec.encode/volume.tier.upload) #5635Filer为用户名/密码和tls添加filer配置选项 #5601Feature/mongodb security #5602Shellchore: 添加 fs.meta.load命令缺失的并发帮助说明 #5609Replaces volume.unmount in the help of the volumeServer.leave #5619Fix volume.tier.upload nil pointer panic by #5634Support concurrent volume.fsck & support disabling -cutoffTimeAgo to improve speed #5636Master修复消息通道阻塞导致的死锁 #5639将客户端通道的容量设置为10000 #5647fix: 确保clientAddress是唯一的 #5655MountFix Issue #5652Fix panic #5654 | Helm ChartHelm-Chart: Make MySQL credentials optional by @gtudan in #5583Helm: Allow adding additional labels to the service monitors by @gtudan in #5593Helm: Fix warning when rendering with secretExtraEnvVars set by @gtudan in #5594helm chart - add support for emptyDir storage type by @tomeresk in #5610Helm: Fix warning when providing resource requests/limits for S3 by @johnnycederholm in #5611increase helm chart version to include the emptyDir storage feature by @tomeresk in #5613Allow using a PVC to store filer and master logs by @sgalsaleh in #5653Allow defining labels and annotations per component by @sgalsaleh in #5657MiscAdd support for OpenBSD by @davestgermain in #5578Replace hardcoded datasource uids in the grafana dashboard by @gtudan in #5590Allow selecting the namespace visualized by the grafana dashboard by @gtudan in #5591Update the Grafana panels using the to the new time series by @gtudan in #5595Add ability to configure security context for the different components by @johnnycederholm in #5600Solaris disk support by @dspearson in #5638Volume Serverfix: recreate index include deleted files by @kmlebedev in #5579Fix sorted needle file's write mode for (*SortedFileNeedleMap).Delete() by @NyaMisty in #5633Ignore remote volume when selecting volumes in operation (ec.encode/volume.tier.upload) by @NyaMisty in #5635Fileradd filer configuration options for username/password and tls by @baursn in #5601Feature/mongodb security by @baursn in #5602S3[s3] Fixed s3 replication by sending content-md as base64 by @stibi in #5596added s3 iam DeleteBucket permission management by @rikigigi in #5599fix(s3api): make post api upload object default return 204 by @lehoangnam040 in #5648Shellchore: add missing concurrency help in fs.meta.load command by @negezor in #5609Replaces volume.unmount in the help of the volumeServer.leave by @negezor in #5619Fix volume.tier.upload nil pointer panic by @NyaMisty in #5634Support concurrent volume.fsck & support disabling -cutoffTimeAgo to improve speed by @NyaMisty in #5636Masterfix deadlock caused by message chan blocked by @shichanglin5 in #5639Set the capacity of clientChan to 10000 by @CodeRusher in #5647fix: Ensure that the clientAddress is unique by @CodeRusher in #5655MountFix Issue #5649 by @Dando-Real-ITA in #5652Fix panic by @Dando-Real-ITA in #5654 |
3.69 | 2024年7月1日 | FilerFixed bootstrapping new filer from existing filer peer.fix issue: 有时 volume.fsck 报告 'volume not found' #5537Misc为MasterClient的方法添加了上下文以避免无休止的循环 #5628Admin Shell[fs.verify] 从文件夹日志中获取元数据 #5678[fs.verify] 如果在filerStore上找不到条目,则跳过失败的文件 #5693chore: 热修复恐慌fs.verify#5696Volume Serverbug修复: 当卷服务器断开连接时取消注册ec分片 #5697修复了当卷服务器有单独的索引字典时无法初始化现有ec卷的问题 #5723Master修复: server. go中master.raftBootstrap选项的正确命令标志 #5701 | FilerFixed bootstrapping new filer from existing filer peer.fix issue: sometimes volume.fsck report 'volume not found' by @ehooi in #5537MiscAdded context for the MasterClient's methods to avoid endless loops by @vadimartynov in #5628Helm Chartsfix #5681 convert all resources parameters to maps instead of strings by @jessebot in #5689Helm-Chart: clean up image handling by @gtudan in #5720Move cluster role to a separate template. by @gtudan in #5721[Helm chart] Remove createClusterRole dependency from serviceAccount usage from filer statefulset by @rgaduput in #5724Admin Shell[fs.verify] getmeta data from filer log by @kmlebedev in #5678[fs.verify] skip failed files if entry not found on filerStore by @kmlebedev in #5693chore: hot fix panic fs.verify by @kmlebedev in #5696Volume Serverbugfix: unregister ec shards when volume server disconnected by @Numblgw in #5697fixed fail to initialize existing ec volume when volume server has separate index dictory by @ehooi in #5723Masterfix: correct command flag for master.raftBootstrap option in server.go by @sample in #5701S3check bucket name in sql backend #5710filer.backup , filer.meta.backup , filer.remote.gateway , filer.remote.sync adjust error handling to keep retrying to fix #5677 | |
3.71 | 2024年7月22日 | Master计算未使用空间时检测下限溢位 #5758不同的磁盘标签不应使用相同的DiskUsages实例,而master接收到卷心跳 #5770修复卷增长和主领导者同时更改时出错 "no more writable volumes" #5771修复: 如果拓扑中不存在数据中心,请避免超时 #5772卷布局的指标统计取决于数据中心 #5775[master] 将HasGrowRequest请求重构为原子布尔 #5782[master] 在后台自动增加volume #5781FUSE Mount修复mmap写入失败 #5791Filer.remote.sync and Filer.syncAzure sink: 避免覆盖现有文件Filer sink: 避免覆盖现有文件Filer修复确保元数据跟随特定文件夹 #5774Volume Server在ec编码期间始终复制ecj文件Shellvolume.tier.upload: 修复删除复制卷 #5743添加带有提示的警告,说明为什么EC分片无法移动 #5790 | S3Fix S3 deletion in deep folders, and names with empty spaces, fix #5748add s3test for sql by @kmlebedev in #5718[s3] revert skip deletion error, since the error file was not found is already skipped on the side of the grpc function by @kmlebedev in #5760MasterDetect underflow when calculating unused space by @danfoster in #5758Different disk labels should not use the same DiskUsages instance while master received volume heatbeat by @chocotan in #5770Fix "no more writable volumes" error when volume grows and master leader changed at the same time by @chocotan in #5771fix: avoid timeout if datacenter does not exist in topology by @kmlebedev in #5772metrics stats of volume layout depends on the data center by @kmlebedev in #5775[master] refactor HasGrowRequest to atomic bool by @kmlebedev in #5782[master] Do Automatic Volume Grow in background by @kmlebedev in #5781Helm Chartshelm: restart filer when the s3-configuration changes by @gtudan in #5768FUSE MountFix mmap write fail by @wusongANKANG in #5791Filer.remote.sync and Filer.syncAzure sink: avoid overwriting existing fileFiler sink: avoid overwriting existing fileFilerensure metadata follow a specific folder, fix #5774Volume Serveralways copy ecj files during ec encodingShellvolume.tier.upload: Fix deleting replicated volumes by @rhysm in #5743Add warning with hints to why a EC shard cant be moved by @danfoster in #5790MinorAdded tls for http handlers by @vadimartynov in #5764refactor all methods strings to const by @kmlebedev in #5726-metricsIp cmd flag by @vadimartynov in #5773Added loadSecurityConfigOnce by @vadimartynov in #5792Added tls for http clients by @vadimartynov in #5766 | |
3.72 | 2024年8月19日 | 添加了一个闭源的SeaweedAdmin服务器:灵活高效的TTL管理。时间点将任何文件恢复到任何时间点异地连续文件元数据备份。 | Master在分配中返回错误之前检查ShouldGrowVolumes #5819修复将重复的卷ID分配给不同的卷 #5811[master] 仅在绝对必要时才同步增长请求 #5821[master] 修复主节点恐慌 #5893EC卷支持过期并在执行volume. list时显示过期消息 #5895修复ec卷查找数据同步 #5900FUSE Mount修复死锁 #5815Volume Server修复删除块失败 volumeSever specified grpc.port #5820fsck: only check the appendNs of deleted needle#5841Shell将排空卷修复为不同的磁盘类型 #5530[shell] volume.grow #5855Filer[filer] 修复webdavv. maxMB上的恐慌filer #5822[filer] 为Filer UI的标题添加了一个版本 #5836Misc修复提取gz文件文件为nil 的bug #5847add command backup destory volume error log #5846fix CVE-2016-2183 #5844Add SVG logo #5827Correct gopher on SVG logo #5833 | Seaweed AdminAdded a close-source SeaweedAdmin server:Flexible and efficient TTL management.Point-in-time recovery of any file to any point of time.Off-site continuous file metadata backup. MasterCheck ShouldGrowVolumes before returning error in assign. by @eliphatfs in #5819fix allocate reduplicated volumeId to different volume by @kungf in #5811[master] do sync grow request only if absolutely necessary by @kmlebedev in #5821[master] fix master panic by @wusongANKANG in #5893EC volume supports expiration and displays expiration message when executing volume.list by @augustazz in #5895fix ec volume lookup data sync by @augustazz in #5900FUSE MountFix dead lock by @chrislusf in #5815Volume Serverfix delete chunk failed if volumeSever specified grpc.port by @kungf in #5820fsck: only check the appendNs of deleted needle by @kungf in #5841Shellfix evacuate volume to different disk types by @kungf in #5530[shell] volume.grow by @kmlebedev in #5855Filer[filer] fix panic filer on webdav.maxMB by @kmlebedev in #5822[filer] Added a version to the title of Filer UI by @JiffsMaverick in #5836Helm Chartsfix case for keyAlgorithm in Helm chart by @kvaps in #5835Fix: Resolve conflicts for deployment in different namespaces by @kvaps in #5862Add volume-resize-hook by @kvaps in #5868COSI driverAdd seaweedfs-cosi-driver by @kvaps in #5843Update COSI driver v0.1.1 by @kvaps in #5845Fix secretName for seaweedfs-cosi-driver by @kvaps in #5850Add: COSI BucketClass and BucketAccessClass by @kvaps in #5863S3Fix KeyMaterial nil bug by @qinguoyi in #5848Fix KeyMaterial nil bug by @qinguoyi in #5849added access-control-expose-headers to put request by @kamransarwar47 in #5876Dont try lazy decode content in proxyToFiler if no accept-encoding provided by @blackbass1988 in #5907WebDAV[webdav] status code 500 if internal error from filer by @kmlebedev in #5865MiscFix extractToFile gz file nil bug by @qinguoyi in #5847add command backup destory volume error log by @qinguoyi in #5846fix CVE-2016-2183 by @zuzuviewer in #5844Add SVG logo by @kvaps in #5827Correct gopher on SVG logo by @kvaps in #5833 |
3.73 | 2024年9月13日 | Master添加http端点以获取集合的大小 #5910[master] 重构 ShouldGrowVolumes 功能 #5884[master] 处理必须增长的增长请求 #5999防止主节点的跟随者死循环 #6007Volume Serverupdate metric for ErrorCRC if it happens during volume readNeedleDataInto #5957fix volume.move io.EOF by @kungf in #5960跳过具有远程文件的卷的卷数据完整性检查 #5976将只读状态保留为卷信息 #5977在发送之前进行CRC检查缓冲区是否包含完整的针数据 #5980Remove "Content-Length" header if http.Error is issued #5981Shell显示无法验证块的卷服务器 #5958[shell] 修复外壳中的体积增长 #5992Filer修复filer store 弹性删除条目的bug #5988Mountbug修复从缓存处理接收到的数据 #6002将缓存限制为每个文件的规定字节数 #6009 | Masteradd http endpoint to get the size of a collection by @rikigigi in #5910[master] refactor func ShouldGrowVolumes by @kmlebedev in #5884[master] process grow request with must grow by @kmlebedev in #5999prevent dead loop for followers of master node by @dsd2077 in #6007Helm ChartsAllow using a PVC to store filer and master logs - changes in values.yaml by @aniketwdubey in #5918[Helm chart] use /healthz as default route in readiness/liveness by @DG-Wangtao in #5990S3Fix get dir metadata by @zemul in #5923[s3] reducing the number of metrics for 403 by @kmlebedev in #5961MiscAdd release for OpenBSD by @mrusme in #5993change math/rand => math/rand/v2 in volume_layout.go where is a perfo… by @dsd2077 in #6006filer.remote.gateway not filer.remote.sync for remote.mount.buckets help string. by @sierra-alpha in #5934filer.remote.gateway not filer.remote.sync for filer.remote.gateway help string. by @sierra-alpha in #5935Volume Serverupdate metric for ErrorCRC if it happens during volume readNeedleDataInto by @evgmik in #5957fix volume.move io.EOF by @kungf in #5960Skip volume data integrity check for volume which has remote file by @half-life666 in #5976persist readonly state to volume info by @half-life666 in #5977Do CRC check if the buffer contains the full needle data before it is sent by @evgmik in #5980Remove "Content-Length" header if http.Error is issued by @evgmik in #5981ShellShow volume server which failed to verify a chunk by @evgmik in #5958[shell] fix volume grow in shell by @kmlebedev in #5992Filerbug fixed to filer store elastic deleteEntry by @zouyixiong in #5988Mountbug fix in the data received from cache processing by @evgmik in #6002Feature limit caching to prescribed number of bytes per file by @evgmik in #6009 | |
3.74 | 2024年10月1日 | Filer更改cassandra存储中的FindEntry错误处理 #6015改进worm支持 #5983[filer]修复未找到条目时DELETE的返回204 #6023Feat:合并小块 #6049 #6049[filer]如果表不存在,则避免500 #6075Master[master]master缺少启动LoopPushingMetric例程已修复 #6018修复启用卷预分配时无人认领的空间计算 #6063删除复制前修复/复制 #6064master:修复Build()中的空目标 #6069修复“没有剩余空间”bug #6073, #6077Volume Server特性:加密前压缩 #6013[volume] 如果大小不健康,请删除截断idx文件 #6043卷检查磁盘bug #6044修复(卷):在特定情况下不持久化RO状态 #6058 | Helm Charthelm chart: add s3 and s3-tls ports where missing by @ErwanDL in #6016Bump chart version by @facorazza in #6033Filer Storechanging FindEntry error handling in cassandra store by @Werberus in #6015improve worm support by @27149chen in #5983[filer] fix return 204 for DELETE on entry not found by @kmlebedev in #6023Feat:merge small chunk by @zemul in #6049[filer] avoid 500 if table doesn't exist by @kmlebedev in #6075Master[master] master missing start LoopPushingMetric routine fixed. by @zouyixiong in #6018fix unclaimed spaces calculation when volumePreallocate is enabled by @shichanglin5 in #6063Fix/copy before delete replication by @mdenushev in #6064master:fix empty target in Build() by @neo-v in #6069fix 'no space left' bug by @coffeecloudgit in #6073, #6077Mount, CSI-Driverfix file read crash by @half-life666 in #6021fix invalid file read by @27149chen in #6024Volume ServerFeature: compress before encryption by @evgmik in #6013[volume] remove truncate idx file if size not healthy by @kmlebedev in #6043Vol check disk bug by @dsd2077 in #6044fix(volume): don't persist RO state in specific cases by @mdenushev in #6058S3fix: Prevent potential metadata change events from being lost. by @CodeRusher in #6066MiscBump COSI-driver version v0.1.2 by @kvaps in #6074 | |
3.75 | 2024年10月3日 | MountFix weed mount - no entry is found in filer store #6089Helm Chartk8s/charts/seaweedfs/templates: s3 deployment: rm blocking matchLabel by @ayzatziko in #6090S3s3api: Fix signature v4 with reverse proxy at sub-path by @er2off in #6092[s3] add skip bucket encryption handlers by @kmlebedev in #6091 | ||
3.76 | 2024年10月7日 | S3[s3] add {Get,Put,Delete}BucketTagging and PublicAccessBlock Handlers by @kmlebedev in #6088FUSE MountFix cross mount file synchronization introduced in 3.74 | ||
3.77 | 2024年10月10日 | Helm Chartfeat: Add support for "custom" dataDirs type for volume server in kubernetes helm chart by @TheHackmeister in #6094FUSE MountFix nil issue #6110 | ||
3.79 | 2024年10月29日 | Volume Serverfeat: 为s3/file/volme-server添加飞行中指标 #6120fix(卷):避免重复写同一根针 #6138Filer修复无效的指标名称 #6141修复放置请求中的权限检查 #6142停止重命名worm文件 #6154 | Volume Serverfeat: add in-flight metric for s3/file/volume-server by @CodeRusher in #6120fix(volume): to avoid duplicate write a same needle by @dsd2077 in #6138FilerFix invalid metric name by @bradmurray in #6141fix permission check in put request by @27149chen in #6142stop renaming worm files by @27149chen in #6154Heml ChartFix dataDirs.maxVolumes default value when not included in a values.yaml by @rschnei87 in #6119Support topologySpreadConstraints in helm chart by @dominikgrygiel in #6132feat: add resource annotations by @oldgiova in #6134Support specifying rack and dataCenter for filers in helm chart by @dominikgrygiel in #6144[helm] Allow setting notification.toml config by @dacalabrese in #6159 | |
3.80 | 2024年11月19日 | FilerSubscribeMetadata写入大文件时可能会错过一些事件 #6183在seaweed Java客户端中以块的形式上传名为". txt"的文件时,读取上传的文件时发生错误 #6188修复/解析上传文件名 #6241Shell[shell] 通过dc机架节点收集卷服务器 #6191将ec.平衡逻辑重构为a weed/shell/command_ec_common.go … #6195[shell] 添加admin noLock以实现平衡 #6209Master修复广播到客户端时的死锁挂起 #6184Volume Server从源服务器和目标服务器中删除中止的ec分片 #6221添加向下兼容的CRC检查和额外的解释性注释 #6233Miscfeat(filer. backup):添加忽略错误选项 #6235修复java. lang.IllegalArgumentException:比较方法违反其总契约! #6239调整阈值配置 #6246 | FilerSubscribeMetadata can miss some events when big files are written by @half-life666 in #6183When uploading a file named ".txt" in chunks in Seaweed Java client, an error occurs when reading the uploaded file by @liangyihan in #6188Fix/parse upload filename by @KevinBLT in #6241Shell[shell] volume.balance collect volume servers by dc rack node by @kmlebedev in #6191Refactor ec.balance logic into a weed/shell/command_ec_common.go … by @proton-lisandro-pin in #6195[shell] add admin noLock for balance by @kmlebedev in #6209Masterfix deadlock hang when broadcast to clients by @kungf in #6184Helm Charts[helm] fix s3 servicemonitor label matching by @glycerine102 in #6218Add a loop to wait for master and filer services in post-install-bucket-hook by @ScribblerCoder in #6240Volume Serverdelete aborted ec shards from both source and target servers by @chrislusf in #6221added backward compatible CRC check and extra explanatory comments by @evgmik in #6233Miscfeat(filer.backup): add ignore errors option by @mdenushev in #6235fix java.lang.IllegalArgumentException: Comparison method violates its general contract! by @fo40225 in #6239Adjust threshold config by @zemul in #6246Minorfix format by @kungf in #6185remove dup code for section.reader access by @half-life666 in #6169 | |
3.81 | 2025年01月 | Erasure Coding引入逻辑以解决EC再平衡中的卷副本放置问题 #6254将shell. EcNode.dc统一使用为DataCenter Id #6258改进EC分片跨机架重新平衡逻辑 #6270修复卷UI中的ecVolum排序 #6275改进EC分片跨节点重新平衡逻辑 #6297重新平衡EC分片架失败时显示详细信息 #6299从主服务器默认值解决EC卷的副本放置问题。 #6303跨机架平衡EC分片时,请考虑复制放置设置 #6316在同一机架内平衡EC分片时考虑复制放置设置。 #6317在单个结构下共享EC再平衡功能的通用参数。 #6319在选择节点/机架以平衡EC分片时删除平均约束。 #6325将ec. encode的重新平衡逻辑与ec.balance统一 #6339删除ec. encode的遗留平衡代码 #6344提供卷ID参数时,将ec. encode的EC重新平衡限制为相关集合。 #6347开始实施EC平衡并行化支持 #6342平行EC平衡机架。 #6351并行化EC分片跨机架平衡 #6352并行化EC分片在机架内平衡 #6354致命错误:并发映射迭代和映射写入 #6358 #6359将shell. EcBalance()的waitgroup代码返工为独立类型 #6373在ec. encode中并行化卷副本操作 #6374允许为EC并行化配置最大并发任务数 #6376修复ec. encode中的卷副本并行化 #6377Shell[shell] volume.move添加noLock参数 #6261[shell] 当体积. fix.复制没有更改时不需要锁定 #6266[shell] hdd 硬盘类型使用常数 #6337volume.list 避免输出空的数据中心和机架和磁盘信息 #6341[shell] volume.list 仅显示可写卷 #6338[shell] feat:stop 一旦执volume.vacuum.disable ,立即停止真空 #6375[shell] 仅对可写卷应用平衡 #6346在代码查看文件是否在源卷后移动警告报告 #6406Master[master] 避免拥挤更可写的自动增长 #6214[master] 恢复自动volume增长,以补偿拥挤的volume #6267修复丢失的寄存器主指标MasterPickForWriteErrorCounter #6277用ShouldGrowVolumesByDcAndRack #6280[master] 更新hashicorp筏的LastLeaderChangeTime #6292[master] 通过DC或机架分配带有过滤器的主请求时避免超时 #6291[security] 在http seerver上重新加载WhiteList #6302Filer Sync源路径和排除路径支持dir后缀 #6268Volume Server执行 volume.fix.replication复制时跳过错误 #6382Filer WORM support蠕虫宽限期和保留时间支持 #6404Misc仅创建一个更新goroutine #6269在shell输出中使用可读字节大小字符串 #6288更改预期标头的注释 #6289在scaffold/Security中将https. client.启用替换为false #6320用bbolt替换bolt依赖 #6387在卷卷UI和过滤器UI中使用相同的时间格式 #6395更新许可,修复版权许可年份 #6405 | Erasure CodingIntroduce logic to resolve volume replica placement within EC rebalancing. by @proton-lisandro-pin in #6254Unify usage of shell.EcNode.dc as DataCenterId. by @proton-lisandro-pin in #6258Improve EC shards rebalancing logic across racks by @proton-lisandro-pin in #6270fix EcVolumes sorting in volume UI by @trim21 in #6275Improve EC shards rebalancing logic across nodes by @proton-lisandro-pin in #6297Display details upon failures to re-balance EC shards racks. by @proton-lisandro-pin in #6299Resolve replica placement for EC volumes from master server defaults. by @proton-lisandro-pin in #6303Account for replication placement settings when balancing EC shards across racks. by @proton-lisandro-pin in #6316Account for replication placement settings when balancing EC shards within the same rack. by @proton-lisandro-pin in #6317Share common parameters for EC re-balancing functions under a single struct. by @proton-lisandro-pin in #6319Remove average constraints when selecting nodes/racks to balance EC shards into. by @proton-lisandro-pin in #6325Unify the re-balancing logic for ec.encode with ec.balance . by @proton-lisandro-pin in #6339Delete legacy balancing code for ec.encode . by @proton-lisandro-pin in #6344Limit EC re-balancing for ec.encode to relevant collections when a volume ID argument is provided. by @proton-lisandro-pin in #6347Begin implementing EC balancing parallelization support. by @proton-lisandro-pin in #6342Parallelize EC balancing for racks. by @proton-lisandro-pin in #6351Parallelize EC shards balancing across racks. by @proton-lisandro-pin in #6352Parallelize EC shards balancing within racks by @proton-lisandro-pin in #6354fatal error: concurrent map iteration and map write by @coffeecloudgit in #6358 #6359Rework shell.EcBalance() 's waitgroup code into a standalone type. by @proton-lisandro-pin in #6373Parallelize volume replica operations within ec.encode . by @proton-lisandro-pin in #6374Allow configuring the maximum number of concurrent tasks for EC parallelization. by @proton-lisandro-pin in #6376Fix volume replica parallelization within ec.encode . by @proton-lisandro-pin in #6377Shell[shell] add noLock param for volume.move by @kmlebedev in #6261[shell] don't require lock when there are no changes for volume.fix.replication by @kmlebedev in #6266[shell] use constant for hdd of type by @kmlebedev in #6337volume.list avoid output empty data center and rack and disk info by @kmlebedev in #6341[shell] volume.list show only writable volumes by @kmlebedev in #6338[shell] feat:stop vacuum immediately once volume.vacuum.disable was executed by @dsd2077 in #6375[shell] only apply the balancing for writable volumes by @kmlebedev in #6346Moving the warning report after the code sees if the file is on the source volume. by @bradmurray in #6406Master[master] avoid crowded more writable for auto grow by @kmlebedev in #6214[master] Revert back automatic volume grow in case of compensate for crowded volumes by @kmlebedev in #6267fix missing register master metric MasterPickForWriteErrorCounter by @kmlebedev in #6277use ShouldGrowVolumesByDcAndRack by @kmlebedev in #6280[master] update LastLeaderChangeTime for hashicorp raft by @kmlebedev in #6292[master] avoid timeout when assigning for main request with filter by DC or rack by @kmlebedev in #6291[security] reload whiteList on http seerver by @kmlebedev in #6302Filer Syncfiler sync: source path and exclude path support dir suffix by @Numblgw in #6268S3 APIfix: record and delete bucket metrics after inactive by @zouyixiong in #6349fix: filer may crash by bucketLastActiveTsNs concurrency access. by @zouyixiong in #6350Fix for DeleteMultipleObjectsHandler wrongly deleting parent folders by @warrenhodg in #6380FUSE Mountmount metacache add ttl by @zemul in #6360Volume Serverskip error while executing volume.fix.replication by @dsd2077 in #6382Filer WORM supportworm grace period and retention time support by @27149chen in #6404MiscExclusiveLocker only create one renew goroutine by @Numblgw in #6269use readable bytes size string in shell output by @trim21 in #6288change comment for expect header by @CodeRusher in #6289Replaced https.client.enabled with false in scaffold/security by @vadimartynov in #6320Replace bolt dependency with bbolt by @hack3ric in #6387use same time format in volume volume UI and filter UI by @trim21 in #6395Update LICENSE, fix copyright license year by @JasonnnW3000 in #6405 | |
3.82 | Shell[weed] 将-n更改为-force #6421修复音量平衡命令期间的力参数下降 #6432ec.encode : 修复bug导致EC转换后源卷未被删除的问题 #6447将JWT身份验证添加到 fs.mergeVolumes 命令 #6461 | Shell[weed] change -n to -force by @dsd2077 in #6421fix force arg dropped during volume balance command by @ftong2020 in #6432ec.encode : Fix bug causing source volumes not being deleted after EC conversion. by @proton-lisandro-pin in #6447Add JWT authentication to fs.mergeVolumes command by @hadizamani021 in #6461S3Bugfix s3 audit missing requester for PUT requests by @ftong2020 in #6434improve iam error handling by @tcrasset in #6446Add bucket's traffic metrics by @hadizamani021 in #6444fix S3 per-user-directory Policy by @tcrasset in #6443 | ||
- 本文固定链接: http://www.jiagou.cc/1547/
- 转载请注明: 摘星怪 于 架构迷 发表