Hello reader,
For this month's update, we'll start off with two important changes to the server. First, we're changing hierarchy resolution for write operations to prefer good replicas rather than stale replicas. This change is required to correctly support appending to data objects, avoiding data loss, and it's required for the new truncate API endpoint that's in active development. As a result of this change, we're also tweaking the rules of replication and the replication API. For the most part, replication will become a little more lenient in what it accepts. For example, targeting a good replica with a good source replica will result in a no-op. In some cases, clients will be allowed to pass the same resource name for the source and destination.
The Metadata Guard rule engine plugin has been updated to fully support the atomic metadata operations API. Work to disallow use of imeta rmw
and the APIs underlying it is now complete. Users can expect a new release within the coming weeks.
Python iRODS Client 2.0.0 was released. This release brings pam_password compatibility with iRODS 4.3, better TTL behavior, the ability to manipulate and query quotas, and more.
iRODS HTTP API 0.2.0 is now available. This release includes 57 closed issues based on community feedback and other areas that needed attention. To view the list of closed issues, see https://github.com/irods/irods_client_http_api/milestone/2?closed=1. As for new development work, we've started working to allow the server to operate as an OAuth Protected Resource. This feature will allow the HTTP API to accept OAuth access tokens and verify them, resulting in more flexibility for client applications and a simpler OIDC implementation within the HTTP API.
For the iRODS S3 API, we've started refactoring it to not rely on C++20 coroutines. There are two reasons for doing this. The first being the development team's lack of knowledge and experience with the relatively new C++20 coroutines. The other reason being it helps with our transition from libc++ to libstdc++. Aside from that, the S3 API now supports the DeleteObjects API endpoint. The last big item for this project is we've started working to add support for Multipart uploads.
To wrap things up, NFSRODS 2.2.0 is available now. NFSRODS 2.1.0 was released in February 2022. That's two years! The big news with this release is that NFSRODS is now resilient to restarts of the iRODS server. This is an important enhancement because it helps to make the job of the administrator a little easier.
That's it for this month's development update.
See you next month!
Metadata Templates Working Group
New Development Work
Active Development Work
Build and Packaging
Background Items
Docker-based Development Environment
Docker-based Testing Environment
iRODS Command Line Interface (CLI)
Unified Storage Tiering Capability
Policy Composition
Logical Locking
New RPC API framework
Parallel Filesystem Integration
CockroachDB Database Plugin
Discussion