Hi @amadio
I think it looks like an existing off by one problem in XrdCl declarative API utilities, I think here:
diff --git a/src/XrdCl/XrdClParallelOperation.hh b/src/XrdCl/XrdClParallelOperation.hh
index 6736fefba..dd38c56d4 100644
--- a/src/XrdCl/XrdClParallelOperation.hh
+++ b/src/XrdCl/XrdClParallelOperation.hh
@@ -313,7 +313,7 @@ namespace XrdCl
// although we might have the minimum to succeed we wait for the rest
if( status.IsOK() ) return ( pending == 0 );
size_t nb = failed_cnt.fetch_add( 1, std::memory_order_relaxed );
if( nb + 1 == failed_threshold ) res = status; // we dropped below the threshold
if( nb == failed_threshold ) res = status; // we dropped below the threshold
// if we still have to wait for pending operations return false,
// otherwise all is done, return true
return ( pending == 0 );
just trying to understand why it works in CI.. Do the CI tests run as root? - that might explain it. The stripe 'failure' is simulated by setting the unix permissions to '0' of a local file, i.e. '---------', but if the test is running as root it would still be able to open it, and not actually fail.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1