The Resource logo

The Resource

Archives
Subscribe
July 26, 2021

July 2021 Edition of 'The Resource'

Hello Reader, here is this month’s iRODS news and developments!

If you’re facing an issue with iRODS you’re not sure how to solve, please do drop me a line; if I’ve come across a solution or seen something relevant elsewhere I’ll do my best to let you know. Or just drop me a mail to say ‘Hi’. Always nice to hear from people, particularly in these pandemic times!

I’d love your thoughts and feedback on how this newsletter could be better for you.

News

User Group Meeting

iRODS User Group Meeting 2021

42 talks (slides and videos) now available

iRODS S3 Resource Plugin 4.2.9.1 is released

Fixed a redirection bug in the new streaming behavior.

​4.2.9.1​

Main Repository Activity

Open Issues

​PAM authentication failed in icommands during long connection​

As mentioned in the comments, probably the known issue of unable to refresh the PAM token timeout (#5096, #4198, #3742).

​irods-rule-engine-plugin-update-collection-mtime in repo depends on 4.2.8​

This caught me out on the irods_demo repo PR I have been working on (ahem, since the UGM… ), as upgrades appear to do the right thing and uninstall the package. However new installs from the irods repo will fail if this package is included, such as in the aforementioned repo. My MR has pinned the version to 4.2.8, but the right thing is probably a different MR to remove the package as by default it deployes the latest release - currently 4.2.9.

​Packaging: Conflicting packages should be marked as such so that package managers do the right thing​

This was on Ubuntu, I am not sure Centos et al were checked.

irods-database-plugin-oracle and irods-database-plugin-postgres conflict, so they should be marked as conflicts in the packages.

Some discussion - how do YOU think this should be resolved?

need to confirm the mysql package does the same - they should each three declare conflicts with the other two.

or

A perhaps heretical opinion - why should they conflict at all? Each one could use its own uniquely named SQL file etc al.

If you have an opinon, weigh in in the comments!

​Object locking/state issues when iput/irm clients contend heavily for one file​

TL;DR - when doing lots of simultaneous writes to the same file, only iput -f will leave the catalogue in a usable state for the file on 4.2.9.

​iquest parser: this should error, but returned nil​

Good tip in this about the use of spLogSql=1 to get further debug logs (its in the docs, as I’m sure you know…).

Probably(?) won’t be fixed for 4.2.10, as it may be addressed by 3902, which is plannd for 4.3.0…

​irods breaks mysql 8 GTID replication​

Worth reading if you use MySQL as a back end with some kind of High Availability design. I wonder if this would be the case with other HA database implementations? It would seem likely?

​ iquest cannot match names containing apostrophes via = operator if it’s not the last condition in the where clause​

​Recursive irepl silences failures​

Worth noting if you use irepl - do put your opinion on how this should behave in the Issue;

When running irepl with the recursive flag on a collection, any errors encountered are kept quiet. This has been the case as early as 4.2.8, but possibly earlier. Is this the expected behavior? If not, should the user expect a message for every encountered error (up to the size limit of the rError stack)?

​irods-grid status produces errors in rodsServerLog (race condition?)​

Race condition in irods-grid - worth reading if you use it to programmatically check for processes.

​ils, imcoll: accidental string concatenation of string literals in array initialization​

​lsb_release, Python’s platform, python-distro, and /etc/os-release​

Reducing the hidden complexity / requirements is always nice to see (and hard to do!)

​Add full utf8 support to mysql​

I am slightly boggled it didn’t have this already? Just me? I seem to recall adding support to Oracle in 3.3.1 was tricky, though.

​How to validate a database migration?​

If you use PostgreSQL worth checking out the Utrecht authored tool mentioned here. If you don’t… Why not write one for your chosen database?

​release activities for 4.2.10​

Fingers crossed!

​prepareNonServerSharedMemory error​

Still under investigation and discussion. I comfess I still dont understand Shared Memory allocation on Linux…

​replace GenQuery ad-hoc parsing code with flex/bison parser​

Mentioned above, targeted for 4.3.0

​set socket options to avoid timeouts​

Would be great if iRODS could do this, rather than requiring the host OS to be configured.

Closed Issues

closed on - 2021-07-15 20:11:22 irepl -R resc_with_a_stale_replica should update the stale replica​

Reported on 4.2.7, fixed in 4.2.9…

closed on - 2021-07-06 15:53:37 Replacement for NEWLY_CREATED_COPY #define removed in 4.2.9​

If you write your own C clients, this is worth knowing to support >= 4.2.9.

closed on - 2021-07-14 23:03:58 failed to start irods server after compiled ​

This makes me sad that externals doesn’t appear to be versioned to match the iRODs version - so building earlier versions is hard / not garunteed to be reproducible. I thought an issue had been raise for this, but I can’t find one now…

closed on - 2021-07-22 14:09:21 A grab bag of questions and previews of DFC noted client enhancements​

Where DFC is DataNet Federation Consortium I think…

Python iRODS Client Activity

Open Issues

Closed Issues

closed on - 2021-07-07 20:37:32 reading large files fails​

Where large >= 2G - this is actually the 4.2.9 issue, the prompted the immediate work to release 4.2.10.

closed on - 2021-05-14 20:15:16 Atomic operation on metadata errors with symbols in the value​

This issue will have to be addressed in the upcoming iRODS 4.2.9 release with the resolution of irods/irods#5520 and a corresponding release of the Python iRods Client (PRC) . Meanwhile, we recommend following the traditional approach to metadata in PRC when adding tags that could contain a “<”, “>” or “&”.

NFSRods Activity

Open Issues

​Does not run without /dev/stdin binded to docker​

I’m no Docker Guru, so I appreciated the further explanation;

Commit 318663d makes running the docker image without the -i flag crash immediately, as /dev/stdin is absent. This makes a container workflow completely useless.

​Issue copying a file file greater then 55Meg to nfsrods​

Some notes from the investigation that might help get your heads around the issue and its potential fixes;

Based on some recent testing, it appears that nfs4j is attempting to write to the target replica in parallel. Parallel writes require the client to provide a replica access token.

and

I’ve learned that not only is this a parallel stream issue, but it is also a caching issue. Disabling caching of nfs4j Stat objects and synchronizing the writes resolved the issue.

(The comment then goes on to detail the required changes).

Closed Issues

icommands Activity

Open Issues

​better verbosity for writes​

Do you have an opinion on how the verbosity flag should behave on the icommands? If so this is the Issue for you! Weight in on the comments with your use cases so the community’s requirementsn can be captured…

Closed Issues

If you think someone else would appreciate this newsletter, they can sign up at https://theresource.metadata.school/​

Three Yaks were shaved in the making of this newsletter.

Unsubscribe

Don't miss what's next. Subscribe to The Resource:
Powered by Buttondown, the easiest way to start and grow your newsletter.