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 or view it on GitHub: https://github.com/xrootd/xrootd/pull/2041#issuecomment-1594595245 You are receiving this because you are subscribed to this thread. Message ID: <[log in to unmask]> ######################################################################## 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