question: public boolean ensureSchemaAgreement ( ) { long start = System . currentTimeMillis ( ) ; Map < String , List < String > > schemas = null ; while ( System . currentTimeMillis ( ) - start < DbClientContext . MAX_SCHEMA_WAIT_MS ) { try { log . info ( "sleep for {} seconds before checking schema versions." , DbClientContext . SCHEMA_RETRY_SLEEP_MILLIS / 1000 ) ; Thread . sleep ( DbClientContext . SCHEMA_RETRY_SLEEP_MILLIS ) ; } catch ( InterruptedException ex ) { log . warn ( "Interrupted during sleep" ) ; } schemas = getSchemaVersions ( ) ; if ( schemas . size ( ) > 2 ) { continue ; } if ( schemas . size ( ) == 1 ) { if ( ! schemas . containsKey ( StorageProxy . UNREACHABLE ) ) { return false ; } else { continue ; } } if ( schemas . containsKey ( StorageProxy . UNREACHABLE ) ) { return true ; } } log . error ( "Unable to converge schema versions {}" , schemas ) ; throw new IllegalStateException ( "Unable to converge schema versions" ) ; }
target:  Try to reach a schema agreement among all the reachable nodes