Skip to content

Compound resource test fails with unexpected output from rError stack #272

Description

@korydraughn
  • main
  • 4-3-stable

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions