@ GuardedBy ( "workerInfo" ) private void processWorkerRemovedBlocks ( MasterWorkerInfo workerInfo , Collection < Long > removedBlockIds ) { for ( long removedBlockId : removedBlockIds ) { try ( LockResource lr = lockBlock ( removedBlockId ) ) { Optional < BlockMeta > block = mBlockStore . getBlock ( removedBlockId ) ; if ( block . isPresent ( ) ) { LOG . info ( "Block {} is removed on worker {}." , removedBlockId , workerInfo . getId ( ) ) ; mBlockStore . removeLocation ( removedBlockId , workerInfo . getId ( ) ) ; if ( mBlockStore . getLocations ( removedBlockId ) . size ( ) == 0 ) { mLostBlocks . add ( removedBlockId ) ; } } // Remove the block even if its metadata has been deleted already. workerInfo . removeBlock ( removedBlockId ) ; } } }
Updates the worker and block metadata for blocks removed from a worker .