Hello reader,
The iRODS User Group Meeting has come and gone. There were a total of 120+ attendees spanning 15+ countries. We appreciate all who attended in-person and virtually. Presentations will be made available over the next few weeks.
For this month's update, let's start off by talking about new development work. We are joined by three new interns this summer and their primary task is to design and implement client-side wrappers for the HTTP API. The first set of wrappers will support Python, Java, and JavaScript. Aside from the HTTP API wrappers, one of the interns is also working on converting the Zone Management Tool to use the HTTP API instead of the now archived C++ REST API.
The last thing I'll mention for new development work is that the Consortium is investigating the possibility of offering a new web GUI for non-admin users. The GUI would provide a minimalist interface designed to be lightweight, stable, and easy to use. Depending on how things go, it might even replace Metalnx. We'll keep you updated as we learn more.
For the iRODS server, all python scripts have been updated to work with later versions of Python. We improved the stability of the server by fixing intermittent crashes during startup. The GenQuery2 implementation which ships with the server now supports nested, multi-argument function calls in the WHERE (left-hand side of condition only) and ORDER BY clauses. Documentation for configuring iRODS to work with PostgreSQL 15 and later is underway as well.
Our build and packaging situation has improved. We are now able to apply complex patches to new builds of externals, some of which come from various distributions. We also have the ability to declare dependencies per-distribution per-version. Last but not least, we're happy to announce that iRODS 4.3.3 will officially support Ubuntu 24.04.
Support for old versions of Ubuntu and MySQL have been removed from the iRODS Testing Environment. If you find the need to launch one of the old versions of Ubuntu and/or MySQL, you'll be happy to know the commits where these were last known to work are tagged using the following scheme, EOL-<operating_system>
and EOL-<database>
.
In the lead up to the User Group Meeting, we updated the ELK stack docker image (for the Audit AMQP rule engine plugin) to use the distribution-provided Java Runtime Environment (JRE). For those unfamiliar with the ELK stack docker image, it's an image designed specifically for training purposes.
For the S3 resource plugin, we fixed an issue involving intermittent compiler crashes during compilation. We also fixed an upload issue involving iput -N
and an incorrect number of threads used for write operations.
It's been a while since we mentioned the PAM-interactive authentication plugin. The project's structure has been re-organized and the CMake responsible for packaging has been fixed.
The GenQuery module which ships with the Python rule engine plugin is growing support for GenQuery2. There's still a number of things that need to happen before this is ready. Given the differences between GenQuery1 and GenQuery2, it's not yet clear whether all functionality provided by the python module will be supported. For those interested, the work for this can be found at https://github.com/irods/irods_rule_engine_plugin_python/pull/206.
The next version of the Python iRODS client (PRC) is close. Big thanks to Utrecht University for doing the work to add support for GenQuery2. Not only that, but the PRC will also support the touch API endpoint. For those unfamiliar with the touch API, it allows users to modify the mtime of collections and data objects. As always, a few issues have been resolved as well. Specifically, we fixed an issue where the number of connections would grow due to redirection within the PRC. Lastly, listing of ACLs on data objects with multiple replicas no longer results in redundant ACLs.
For those following the iRODS S3 API, you'll be happy to know work to improve the performance of multipart upload has begun. We'll have more to say about this in the coming months.
To wrap up, the Jargon library has received a few updates. It now supports GenQuery2 and the new replica truncate API. A new version detection method for iRODS 4.3.2 has been added and the documentation for the docker test framework has been improved.
That was quite the development update. Talk to you next month!
Metadata Templates Working Group
New Development Work
Active Development Work
Build and Packaging
Docker-based Testing Environment
PAM Interactive Authentication Plugin
Background Items
Docker-based Development Environment
iRODS Kubernetes Testing Environment
Unified Storage Tiering Capability
iRODS Command Line Interface (CLI)
Policy Composition
Logical Locking
New RPC API framework
Parallel Filesystem Integration
CockroachDB Database Plugin
Discussion