Important notes for the eos-5.2.0 release

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.

  1. 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.
  2. 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.
  3. 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.
  4. eos-grpc-1.56.1 includes grpc, protobuf, and abseil, making eos-protobuf obsolete.
  5. Support for libmicrohttpd is deprecated and will be removed; XrdHttp is the alternative.
  6. libmicrohttpd is no longer started by default, but you can enable it using env variables.
  7. eos-nginx service is deprecated, with no new updates or releases.
  8. Migrate FMD from LevelDB to extended attributes before upgrading to eos-5.2.0; conversion is NOT possible in 5.2.0.
  9. LevelDB dependency and internal SQLite implementation have been dropped.
  10. 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.

Thanks,
Elvin
on behalf of the EOS team

1 Like

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

Hi 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. :wink: Though this will pretty likely be the case …

Cheers,
Elvin

ETA … in the next days! :slight_smile:

1 Like

Dear @esindril ,

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?

Thank you.

Best regards,
Sang-Un

Ah, I completely misunderstood what is written in the banner… :slightly_frowning_face: it meant to convert LevelDB to FMD, is that right?

Now it make sense the existence of eos-fmd-tool.

Sorry for my ignorance and noise.

I have got following output when trying to run eos-fmd-tool:

# eos-fmd-tool --log-level debug convert --fst-path /data/disk9/
240216 18:21:10 time=1708075270.896798 func=main                     level=INFO  logid=static.............................. unit=EOSFileMD tid=00007f2d7bddbac0 source=ConvertFileMD:104              tident= sec=(null) uid=99 gid=99 name=- geo="" msg="got FSID from .eosfsid" fsid=9
240216 18:21:10 time=1708075270.896962 func=SetDBFile                level=INFO  logid=CommonFmdDbMapHandler unit=EOSFileMD tid=00007f2d7bddbac0 source=FmdDbMap:80                    tident=<service> sec=      uid=0 gid=0 name= geo="" LevelDB DB is now /var/eos/md/fmd.0009.LevelDB
Aborted

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:

  1. Stop EOS FST service
  2. 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
  3. Wait for until the work finishes. Approximately 25~30 minutes taken for 100TB of files
  4. Update EOS packages
  5. Start EOS FST service (carefully look into logs to check whether there is any messages such as conversion failed)

That’s it!

Thank you.

Best regards,
Sang-Un