The following failure is from testing #268 against irods/irods#9080.
<testcase classname="irods.test.test_resource_types.Test_Resource_ReplicationToTwoCompoundResourcesWithPreferArchive" name="test_irepl_over_existing_third_replica__ticket_1705" time="26.811" timestamp="2026-09-17T19:03:53" file="scripts/irods/test/test_resource_types.py" line="4536">
<failure type="AssertionError" message=""><![CDATA[Traceback (most recent call last):
File "/var/lib/irods/scripts/irods/test/test_resource_types.py", line 4552, in test_irepl_over_existing_third_replica__ticket_1705
self.admin.assert_icommand(['irepl', '-S', self.testresc, '-R', self.admin.default_resource, filename])
File "/var/lib/irods/scripts/irods/test/session.py", line 162, in assert_icommand
return assert_command(*args, **kwargs)
File "/var/lib/irods/scripts/irods/test/command.py", line 76, in assert_command
return _assert_helper(*args, should_fail=False, **kwargs)
File "/var/lib/irods/scripts/irods/test/command.py", line 104, in _assert_helper
assert result
AssertionError
]]></failure>
--- IrodsSession: icommand executed by [otherrods#tempZone] [irepl -S TestResc -R demoResc thirdreplicatest.txt] ---
Assert Command: irepl -S TestResc -R demoResc thirdreplicatest.txt
Expecting EMPTY: ['']
stdout:
| Level 0: rsDataObjOpen_impl: hierarchy descending from requested resource name does not have a replica or the replica is inaccessible at this time. [path=[/tempZone/home/otherrods/2026-09-17Z19:03:33--irods-testing-uh3n556j/thirdreplicatest.txt], requested resource name=[TestResc], resolved hierarchy=[demoResc;compResc1;archiveResc1]]
| Level 1: rsDataObjOpen_impl: hierarchy descending from requested resource name does not have a replica or the replica is inaccessible at this time. [path=[/tempZone/home/otherrods/2026-09-17Z19:03:33--irods-testing-uh3n556j/thirdreplicatest.txt], requested resource name=[TestResc], resolved hierarchy=[demoResc;compResc2;archiveResc2]]
stderr:
|
Unexpected output on stdout
FAILED TESTING ASSERTION
The output from irepl appears to be caused by a lack of clearing the rError stack for dynamic PEPs.
The iRODS Rule Language (NREP) contains logic which clears the rError stack. See the following.
That code has existed in the NREP since 4.2.0. If I remove that code, the NREP produces the same failure as the PREP. That indicates that the PREP should do the same thing as the NREP. I suspect the reason why the failure is now visible is due to all of the improvements to the server.
The following failure is from testing #268 against irods/irods#9080.
The output from
ireplappears to be caused by a lack of clearing the rError stack for dynamic PEPs.The iRODS Rule Language (NREP) contains logic which clears the rError stack. See the following.
That code has existed in the NREP since 4.2.0. If I remove that code, the NREP produces the same failure as the PREP. That indicates that the PREP should do the same thing as the NREP. I suspect the reason why the failure is now visible is due to all of the improvements to the server.