@ Override public synchronized void reportForeignHostFailed ( int hostId ) { long initiatorSiteId = CoreUtils . getHSIdFromHostAndSite ( hostId , AGREEMENT_SITE_ID ) ; m_agreementSite . reportFault ( initiatorSiteId ) ; if ( ! m_shuttingDown ) { // should be the single console message a user sees when another node fails networkLog . warn ( String . format ( "Host %d failed. Cluster remains operational." , hostId ) ) ; } }
Synchronization protects m_knownFailedHosts and ensures that every failed host is only reported once