Print

Print


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