irods: `iput --metadata` does not trigger `pep_api_atomic_apply_metadata_operations_post`

Bug Report

iRODS Version, OS and Version

4.3.0 and 4.2.11, almalinux8 and centos7

What did you try to do?

I wanted to trigger the atomic metadata operations pep by the --metadata option of the iput command which is I guess the only way in the iCommands client to add metadata atomically .

in the core.py file:

def pep_api_atomic_apply_metadata_operations_post(rule_args, callback, rei):

    print("I am called!")

the client operation: iput -f test.txt --metadata "atr; val; unit; atr0; val1; unit1;"

Expected behavior

I would expect that the mentioned pep is triggered and it prints out the text of “I am called!” (sends to stdout - logs).

Observed behavior (including steps to reproduce, if applicable)

pep_api_atomic_apply_metadata_operations_post is not called although the metadata below has been atomically added. Could it be the case that --metadata is not supported by the atomic metadata api?

[irods@dev-u0137480-instance1 irods]$ imeta ls -d test.txt
AVUs defined for dataObj /u0137480_instance1/home/rods/test.txt:
attribute:  atr0
value:  val1
units:  unit1
----
attribute: atr
value:  val
units:  unit

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 22 (6 by maintainers)

Most upvoted comments

Correct - the particular items available will be different for every operation - and in this case, unlink’s input is a logical path, not a data_id.