modules/command/src/main/java/org/apache/fluo/command/FluoWait.java
/**
   * Wait until a scan of the table completes without seeing notifications AND without the Oracle
   * issuing any timestamps during the scan.
   */
Wait until a scan of the table completes without seeing notifications AND without the Oracle
issuing any timestamps during the scan.
Wait until a scan of the table completes without seeing notifications AND without the Oracle issuing any timestamps during the scan .
private static void waitUntilFinished(FluoConfiguration config) {
    try (Environment env = new Environment(config)) {
      List<TableRange> ranges = getRanges(env);
      outer: while (true) {
        long ts1 = env.getSharedResources().getOracleClient().getStamp().getTxTimestamp();
        for (TableRange range : ranges) {
          boolean sawNotifications = waitTillNoNotifications(env, range);
          if (sawNotifications) {
            ranges = getRanges(env);
            continue outer;
          }
        }
        long ts2 = env.getSharedResources().getOracleClient().getStamp().getTxTimestamp();
        if (ts2 - ts1 == 1) {
          break;
        }
      }
    } catch (Exception e) {
      log.error("An exception was thrown -", e);
      System.exit(-1);
    }
  }
private static void waitUntilFinished ( FluoConfiguration config ) { try ( Environment env = new Environment ( config ) ) { List < TableRange > ranges = getRanges ( env ) ; outer : while ( true ) { long ts1 = env . getSharedResources ( ) . getOracleClient ( ) . getStamp ( ) . getTxTimestamp ( ) ; for ( TableRange range : ranges ) { boolean sawNotifications = waitTillNoNotifications ( env , range ) ; if ( sawNotifications ) { ranges = getRanges ( env ) ; continue outer ; } } long ts2 = env . getSharedResources ( ) . getOracleClient ( ) . getStamp ( ) . getTxTimestamp ( ) ; if ( ts2 - ts1 == 1 ) { break ; } } } catch ( Exception e ) { log . error ( "An exception was thrown -" , e ) ; System . exit ( - 1 ) ; } }
Wait until a scan of the table completes without seeing notifications AND without the Oracle
 issuing any timestamps during the scan.
Wait until a scan of the table completes without seeing notifications AND without the Oracle issuing any timestamps during the scan .
// This range had notifications. Processing those notifications may have created // notifications in previously scanned ranges, so start over. // Check to ensure the Oracle issued no timestamps during the scan for notifications.