What's new in dCache 11.1
Release notes
Highlights
- NFSv4.1 Read-delegation support
Incompatibilities
- Drop support for nfsv4_1_files layout type.
- Drop admin commands to set/get/list
flags
associated with files. - Obsolete
pool.enable.hsm-flag
. - Stop populating of
t_storageinfo
chimera table. - Removed Legacy admin shell
Acknowledgments
We thank Tino Reichardt for his contribution.
Release 11.1.0
Admin
dCache allowed admins to associate key-value (flags) pairs with files, which were stored in pnfs level-2 (t_lavel_2 table). Those flags did not influence the dcache behavior and were invisible to users. This functionality is removed now.
The ssh admin interface could start the legacy shell with an alternative way to address dCache cells (cd vs. \c). This functionality is removed now. Any custom scripts that might depend on such functionality must be updated.
Chimera
The dCache namespace stored so-called flags
, key-value pairs associated with files, in the t_level_2
table. This functionality is removed as it is not being used.
The t_level_2
is not touched and stays as-is. The table should be empty for most sites or contain no new records since 2018. Admins are free to truncate the table to
reclaim the space, if desired.
The storage info of a file is defined by directory tags, such as OSMTemplate
and sGroup
or storage_group
and file_family
. Additionally, after file is flushed in HSM, the storage info was stored in t_storageinfo
table. This was required to be able to restore the file with the original storageinfo, even if directory tags are changed. However, the functionality was never used by sites. With release 11.1, dCache stops populating and reading t_storageinfo
table.
Cleaner
Previously, cleaner-hsm
would send one delete request per HSM at a time to a single pool each. However, this level of parallelization is not very efficient, especially when the delete times out.
Now, for each HSM, it can delete files in parallel via multiple pools. Instead of waiting for one delete request batch per HSM to finish or time out, it will send further delete requests for that HSM to other pools connected to it on successive cleaner-hsm
runs. By decreasing the time between successive runs, the number of parallel cleaning pools is increased (as long as there are available pools).
DCAP
Removed the capability of associating a checksum as a key-value pair on upload. The checksum had never been used by dCache or exposed to users.
gplazma
Added multimap plugin section in the dCache book.
httpd
The pool and pool group usage pages have been updated to display data volumes in a human-readable form.
Monitoring
With release 11.1, dCache comes with an integrated prometheus-exporter that can be enabled by dcache.enable.prometheus.exporter=true
property. The property dcache.enable.prometheus.exporter.endpoint
controls on which interface and port number the exporter is exposed. The default value is localhost:9876
. There are not too many metrics available righ now, however, the exporter can be used to monitor
JVM memory, number of running threads, or number of open files.
NFS
NFS door supports read-delegation. Read delegations allow the server to delegate OPEN-CLOSE operations to clients if a file is accessed several times. This functionality aims to improve file access latency in workloads like open->read-close; loop
, which some HPC applications use.
In order to provide delegation-based read access on dCache pools, the nfsv4_1_files
layout type is no longer supported. Site admins must remove the lt=nfsv4_1_files
option from nfs door export files.
NOTE: As the client will not return delegations right after transfer, the NFS movers on pools might stay active even if no applications have opened the file. Moreover, the
transferTime
andtransferSize
correspond to a file delegation period and do not reflect a singleopen->close
cycle.
Pool
Berkeley DB, which is used to store metadata on pools, by default keeps only 100 files open. On some installations, this causes a slow start, as the number of db files is much larger. Now, the default is increased to 512.
On data upload, dCache pool can tell PnfsManager whatever pool’s lfs
mode is hsm
or precious
. This functionality is controlled by pool.enable.hsm-flag
option, which defaults to false
since 2017.
This option is now obsolete.
Changelog from 11.0.0 to 11.1.0
- 7cec96cf27
- build(deps): bump io.netty:netty-codec-http
- c23fd18b50
- qos: don’t shadow fields from super class in ReplicaStateAdjuster
- 2e12f1dca2
- qos-adjuster: use pnfsid for internal bookkeeping
- ef27b1f9c7
- qos: disable dynamic replica reduction
- a6b7237387
- chimera: reduce number of internal location copies
- acf6cc0762
- Human readable sizes for Webadmin Interface
- 38ac3d0e13
- WLCG tape API: do not report empty fields in json responses
- 74b01b98ab
- poolmanager: fix wrandom patrition loop
- a778f9763c
- poolmanager: update wrandom partition to respect gap
- 5f0e7be8e8
- bulk: remove residual code having to do with delay_clear
- 6b5438f4b5
- build(deps): bump org.bouncycastle:bcpkix-jdk18on from 1.78 to 1.78.1 (#7861)
- 5f922dd51e
- Revert “libs: update jackson to version 2.18.3”
- 9b19f5fca2
- omnisession: add support for role attribute
- c735ee9258
- ci: consume billing kafka messages from the beginning
- 8e052af8b7
- ci: use minio helm chart from charts.min.io
- d15becab64
- ci: don’t use bitnami helm charts for kafka and zookeeper
- b4db67e462
- ci: don’t use bitnami helm chart for postgresql
- 80b45777ec
- ci: don’t use bitnami images for kubectl commands
- fa1987338b
- pool: move QoSMessageHandler#SYSTEM_OWNER into StickyRecord
- 1239271d25
- namespace: raise alarm if storage class misconfigured
- c01a82fb05
- pool: define replocas' lastAccessTime and creationTime on start up when repository is not present
- dfc4f69574
- ci: add gpg to almalinux 10 installation
- 5ef4e2bb6a
- ci: use almalinux:10-minimal as a standard image
- 2008cde212
- ssh: drop legacy shell
- e5b8a66450
- ci: ignore netty-tcnative-boringssl-static duplicates
- 2a0716d7be
- libs: update netty version to 4.2.3
- ef4d8b8e08
- vehicles: remove legacy PoolModifyPersistencyMessage
- 08ca0d0f7e
- pool: expose receiving from pool state in
rep ls
- d96d0c132e
- runtime: enable prometheus exporter
- 9f5d209816
- ci: adding variable admin_role to environment
- aeabefe0c6
- frontend: organization of swagger
- 8dcf074205
- cells: stop using deprecated ThreadGroup methods
- 5a4adf3d42
- auth: add DesiredRole#toString
- cab11e7486
- qos: make db name configurable
- 36d6a5ef8a
- dcache rest api: do not filter out fields with default and null values when building json reply object. Enable get/set of OUTPUT quota
- 8de56cb839
- voms: accept only FQANs that match VO name
- 8353e67690
- ci: adding migration endpoint tests to the gitlab pipeline
- 4d22cb12aa
- quota: implement protocols specific return codes
- b68a2d6ae7
- ci: adding qos endpoint tests to the gitlab pipeline
- e09d70a568
- chimera: stop populating and querying t_storageinfo table
- 47cc2bc55a
- nfs: add admin command to list current delegations
- f5f92781c0
- fix broken commit 48a544cb6
- 2842808071
- pnfsmanager: drop support for file flags and handling of pnfs level-2
- 75617d45e0
- gplazma: fix static field for RecordFailedLogins
- a406b1b82d
- gplazma: update link to IGTFInfo file format
- ce93ab1799
- pool: drop pool.enable.hsm-flag
- dee4ee71f4
- pnfsmanager: drop flags set/get/delete commands
- 7cbd21ae26
- dcap: drop checksum string as flags
- bcde31a09f
- admin: remove set/get flags command and derivates
- 1a5b83d78b
- ci: publish container image with branch tag
- 48a544cb69
- gmplazma: excessive caching of failed login attempts leads to system overload.
- 71b18ee76e
- frontend: refactor to camel case to keep naming convention consistent between tests
- d6e7dc671a
- ci: tests to check staging functionality
- 28b76ef158
- container: use almalinux-10 minimal as it produces smaller images
- 2a77534942
- gplazma: check BEARER TOKEN empty case
- 7dc561d58f
- frontend: respect admin role when requested
- bec50c40cf
- chimera: fix string representation of Stat
- 196f8c9cce
- webdav: fix X-OC-MTIME support when uploading a file
- ee57075247
- Removal of random README file
- 5332c10f19
- dcache tape rest API: return ONLINE (or DISK) locality for incomplete files
- 9db7e752c5
- pool: change default number of open files by Berkeley DB
- af20384b1a
- libs: drop unused dependency
- bafadec421
- Revert “chimera: fix string representation of Stat”
- d8269db15e
- Reapply “gplazma2: drop unsupported org.reflections library”
- ca8a492385
- container: avoid epmty entry in the classpath
- 2595222ca0
- chimera: fix string representation of Stat
- e731648a3a
- chimera: add ‘stat’ command to shell
- 00e680d4bf
- ci: frontend tests cleanup
- 1d27fbb9e4
- libs: switch t nfs4j-0.27.1
- 893734557e
- docs: add multimap plugin section
- d0cc39c403
- nfs: update proxy to use flex_files layout driver
- 7266edd31a
- pnfs: drop nfsv4_1_files layout type support
- 7284974e6d
- nfs4: libs update to nfs4j-0.27.0
- 5b57c61b98
- book: describe hsm-cleaner parallelization
- 0eff1a062c
- REST API: restrict access to id resource to admin user
- 8be70fb7b8
- Revert “gplazma2: drop unsupported org.reflections library”
- cd6ea4fae8
- cleaner: allow multiple pools per hsm to be cleaned in parallel
- 41a07b64fb
- libs: update jackson to version 2.18.3
- 42144b3544
- gplazma2: drop unsupported org.reflections library
- 40f72e4508
- nfs41: unconditionally remote transfers associated with dead clients
- 046b83e912
- pool: shutdown mover on “Connection: close” http header
- fd4b899110
- nfs41: remove transfers with no movers on layout state disposal
- 7fefd91353
- pom: update exec-maven-plugin to 3.5.0
- eee28545f2
- libs: update aspectj version to 1.9.24
- 3f3bdce14a
- ci: fix script execution bit
- 4391b28fec
- frontend: add listing all existing labels
- 5696faa7d0
- ci: fix igtf rpm signing key
- 40bb21acaa
- ci: collect k8s events before logs
- 111f60ca52
- ci: collect k8s events
- 6814424adb
- ci: disable unsupported pynfs tests
- f18d3cd646
- ci: don’t use egi software repo for CA certs
- ef40ce10c5
- Bulk: remove skipIfOnline method from PinManagerActivity
- 0b30436285
- [maven-release-plugin] prepare for next development iteration