In branch fst_delete_on_close, CTA/continuousintegration/orchestration/tests/delete_on_closew_error.sh.
This script tests the EOS delete on close workflow. It tests that the file has been removed from the namespace (using eos fileinfo). There should also be a test that the physical file was removed from the FST.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
We have been having some problems with understanding delete on close behaviour (see https://gitlab.cern.ch/cta/operations/-/issues/607). It would be good to improve the test coverage of this feature in the CI.
Testing delete-on-close "good day" case, when storage_class=fail_on_closew_test is used.
We will not need to check directly with the FST that the physical copy of the file has been deleted. This check, besides being considerably more complex to perform, should not be necessary because the namespace entry is only removed once all the replicas are deleted from the disks/tape. Therefore, checking that the namespace entry was removed should be enough to guarantee that there are no copies.
Testing delete-on-close after receiving a wrong checksum:
As mentioned on this ticket https://gitlab.cern.ch/cta/operations/-/issues/614, this is currently not working because the archival request is still queued even though the delete-on-close event is triggered.
Hi @afonso, even if the archival request is being triggered on close, shouldn't the test still work? The disk replica will be deleted and a DELETE event will be generated. This will remove the extra archival request.
Sometimes there is racy behaviour where the DELETE event can be sent before the CLOSEW event. This will generate an archive error in the tapeserver but the delete on close part still works.
Is it therefore not possible to merge this test without waiting for the other issue to be fixed?
Hi @mdavis ,
I am not sure if I understood all, but for the moment the test with the wrong checksum does not pass. xrdcp fails and returns an error - as expected - but the new namespace entry remains while it should have been deleted (I think).