The EOS 5.2.0 release will contain a series of changes that have long been advertised, therefore please make sure to carefully review the following points before deciding to update.
We no longer support CentOS Stream. Server and client packages are available for CentOS7(el-7), Alma8(el-8), Alma9(el-9), and opportunistically some Fedora releases.
There’s a strong dependency on XRootD 5.6.2 / eos-xrootd 5.6.2, providing critical client fixes and ZTN support over XRoot protocol.
EOS now requires eos-grpc-1.56.1, replacing eos-grpc-1.41.0. Version <= 5.1.26 should lock to eos-grpc-1.41.0.
eos-grpc-1.56.1 includes grpc, protobuf, and abseil, making eos-protobuf obsolete.
Support for libmicrohttpd is deprecated and will be removed; XrdHttp is the alternative.
libmicrohttpd is no longer started by default, but you can enable it using env variables.
eos-nginx service is deprecated, with no new updates or releases.
Migrate FMD from LevelDB to extended attributes before upgrading to eos-5.2.0; conversion is NOT possible in 5.2.0.
LevelDB dependency and internal SQLite implementation have been dropped.
The eos find command has been redesigned for better performance and memory usage, equivalent to the old eos newfind.
Feel free to ask questions or share concerns in the comments.
We’re very much looking forward to this release, some of you users are eagerly awaiting some of the fixes. Do you have a rough timeline for the release?
Best, Erich
Glad to hear you are willing to test it! There are still some things to address for the latest release since it contains many new things so bear with me. Rather than having something quickly out the door, we’re testing things out to make sure you won’t need a new release (immediately) after upgrading to this one. Though this will pretty likely be the case …
I would like to just ensure before upgrading to 5.2.x for FSTs whether they are using LevelDB. FSTs are running now on 5.1.22 and they have /var/eos/md/fmd.00XX.LevelDB directories, which cause quite a lot confusion to me.
The output of eos-leveldb-inspect against one of them looks like,
# eos-leveldb-inspect --dbpath /var/eos/md/fmd.0005.LevelDB --fsck
Num. entries in DB[mem_n]: 3397579
Num. files synced from disk[d_sync_n]: 3397162
Num, files synced from MGM[m_sync_n]: 3397359
Disk/referece size missmatch[d_mem_sz_diff]: 64
MGM/reference size missmatch[m_mem_sz_diff]: 754
Disk/reference checksum missmatch[d_cx_diff]: 0
MGM/reference checksum missmatch[m_cx_diff]: 0
Num. of orphans[orphans_n]: 1080
Num. of unregistered replicas[unreg_n]: 1
Files with num. replica missmatch[rep_diff_n]: 1
Files missing on disk[rep_missing_n]: 0
Is this indicating that the FSTs are running on LevelDB? I found that there is eos-fmd-tool which converts from LevelDB but up to now I could not see any tool for such that converting FMD to LevelDB.
Would you kindly point to where I could reference?
I was just wondering whether the command and options are correct and it worked properly.
EDIT
First of all, very much sorry for making noises here. I managed to run eos-fmd-tool to convert LevelDB to FMD and then update to EOS v5.2.16 successfully. Just for the record I would like to leave the steps followed as below:
Stop EOS FST service
Run eos-fmd-tool command e.g. eos-fmd-tool --log-level debug convert --fst-path /data/disk9/ --log-file fmd-convert-disk9.log (this does not print any output, instead recommend to use tee, such that eos-fmd-tool --log-level debug convert --fst-path /data/disk9/ 2>&1| tee fmd-convert-disk9.log
Wait for until the work finishes. Approximately 25~30 minutes taken for 100TB of files
Update EOS packages
Start EOS FST service (carefully look into logs to check whether there is any messages such as conversion failed)