Releases: happyfish100/fastdfs
Release list
FastDFS 6.15.5 released
The development of FastDFS V6.15.1 to V6.15.5 spanned over six months, primarily involving minor improvements and enhancements to monitoring metrics.
Starting from version 6.15.5, maintenance and improvements have been made to the third-party contributed fdfs_exporter to provide monitoring data for Prometheus. The corresponding source code directory is: monitoring/prometheus_exporter. fdfs_exporter has added monitoring metrics related to storage synchronization delay, including last_synced_timestamp and synced_delay_seconds; as well as tracker status-related metrics such as is_leader, is_active, and current connection count.
V6.15.5 introduces a new command-line tool: fdfs_tracker_stat, for viewing the status of the tracker cluster. An example output is as follows:
192.168.3.202:22122, is_leader: 1, is_active: 1, connections {alloc: 256, current: 2, max: 22}
192.168.3.202:22222, is_leader: 0, is_active: 1, connections {alloc: 256, current: 1, max: 2}
tracker server count: 2
The libserverframe V1.2.11, which is dependent on FastDFS V6.15.2, has fixed a deep-seated bug: "MUST call sf_hold_task in sf_nio_notify for rare case." This bug may cause fdfs_storaged to crash or exhibit other strange behaviors under conditions of high concurrency and load on the storage server, as well as unstable or busy network conditions. Since this bug was introduced with the introduction of libserverframe in FastDFS V6.09, it is strongly recommended to use older versions such as V6.09, V6.10 etc. upgrade to the latest version as soon as possible.
Below are the change logs for these five minor versions:
Version 6.15.5 2026-06-23
* fdfs_exporter add metrics: last_synced_timestamp and synced_delay_seconds
* add protocol TRACKER_JOIN_LEADER for handshake from follower to leader
* add protocol SERVER_LIST_TRACKER for tracker monitoring
* add monitor tool: fdfs_tracker_stat
* fdfs_exporter add tracker metrics: is_leader, is_active etc.
* use libfastcommon V1.85 and libserverframe 1.2.13
Version 6.15.4 2026-03-07
* download_file offset and bytes's logic is consistent with the range of HTTP
Version 6.15.3 2025-12-23
* storage dio queue use fc_queue instead of common_blocked_queue
Version 6.15.2 2025-11-15
* move finish_callback from fast_task_info to TrackerClientInfo
*
Version 6.15.1 2025-11-06
* query file info support combined flags:
FDFS_QUERY_FINFO_FLAGS_NOT_CALC_CRC32 and FDFS_QUERY_FINFO_FLAGS_KEEP_SILENCE
FastDFS 6.15.2 released
The distributed file system FastDFS 6.15.2 has been released, with the following major improvements:
- The file synchronization between storage servers supports multithreading;
- The access log is based on libserverframe;
- The communication protocol of FastDFS is compatible with both IPv4 and IPv6 address lengths;
- The underlying libraries used, libfastcommon and libserverframe, support io_uring (requiring a Linux kernel version >= 6.2), which offers better performance than epoll.
Other minor improvements:
- check tracker leader before accept trunk server
- move finish_callback from fast_task_info to TrackerClientInfo
- query file info support combined flags: FDFS_QUERY_FINFO_FLAGS_NOT_CALC_CRC32 and FDFS_QUERY_FINFO_FLAGS_KEEP_SILENCE
- fix compile warnings under gcc 14
Set the number of file synchronization threads in storage.conf. The configuration example is as follows:
# file sync min thread count, must >= 1
# default value is 1
# since V6.15
sync_min_threads = 1
# file sync max thread count, should >= sync_min_threads
# set to auto for twice of store_path_count
# default value is auto
# since V6.15
sync_max_threads = auto
Log configuration includes global configuration and section configuration. Section configuration inherits global configuration and can be reset to overwrite global configuration. The section for error logs is [error-log], and the section for access logs is [access-log]. For details, refer to tracker.conf and storage.conf in the conf directory (located towards the end of the configuration files).
The communication protocol of FastDFS can automatically adapt to both IPv4 and IPv6 address lengths. It can be configured in tracker.conf, with an example configuration as follows:
# the response IP address size, value list:
## IPv6: IPv6 address size (46)
## auto: auto detect by storage_ids.conf, set to IPv6 address size
## when contains IPv6 address
# default value is auto
# since V6.15
response_ip_addr_size = auto
If the client SDK being used utilizes IPv6 address length, it is necessary to configure the response_ip_addr_size to IPv6. Otherwise, the default configuration can be used.
The Java SDK project provided by FastDFS is named fastdfs-client-java, which already supports automatic adaptation to IPv4 and IPv6 address lengths. The current version is V1.39, and it is recommended to upgrade it together with the FDFS Server.