To start this month's update, let's talk about two new API endpoints that will be provided by iRODS 4.3.1. The first API is called
rc_get_resource_info_for_operation. It is designed as a more flexible alternative to
rcGetHostForGet. The problem with those APIs is that they only return the hostname of the server holding the storage. Any hierarchy information obtained on the server-side is thrown away. The new API improves upon the old APIs by returning the hostname and the resource hierarchy. The second API is
rc_get_library_features. This API allows non-C/C++ clients to query the connected server for supported features. The goal of this is to give clients a proper way to detect features without needing to check version numbers. The C++ connection pool library has grown new connection refresh options. These options are important for C++ clients which run as servers (e.g. the HTTP API). We've improved the delay server migration logic by making it more difficult for there to be two or more delay servers running within the same zone.
Here's a big one, we're planning to make iRODS 4.4 compile against libstdc++ by default. This change is important because libstdc++ is installed by default on many Linux distributions. This change also means iRODS becomes more approachable for people who have to compile from source, among other things.
In preparation of iRODS 4.3.1, we've made some adjustments to the set of externals packages needed to compile iRODS Consortium projects. jansson, cpr, elasticlient, and imagemagick will not be shipped as externals packages any longer. Due to the OIDC work for the HTTP API, we've added jwt-cpp as an externals package.
Development on the iRODS S3 API is going very well. Progress is slow, but steady. We've finally fixed issues with HMAC signatures. This was a roadblock in the beginning, but now the path is clear and we expect things to be mostly straight forward. Not only that, but we've improved the implementations for ListObjectV2 and HeadObject. We're also starting to see some success with the AWS client. We're hoping to have the iRODS S3 API ready (for test purposes) shortly after the release of iRODS 4.3.1. We know there's a lot of interest surrounding this project, so stay tuned.
Talk to you next month!
New Development Work
Active Development Work
Build and Packaging
New RPC API framework
Parallel Filesystem Integration
CockroachDB Database Plugin
considering dropping support for Oracle as a database
consider support for S3 API with 4.2
EOL discussion for linux distributions