@Override
  public FindInfo findEntriesSince(FindToken token, long maxTotalSizeOfEntries, String hostname,
      String remoteReplicaPath) throws StoreException {
    checkStarted();
    final Timer.Context context = metrics.findEntriesSinceResponse.time();
    try {
      if (hostname != null && !hostname.startsWith(Cloud_Replica_Keyword)) {
        // only tokens from disk-backed replicas are tracked
        remoteTokenTracker.updateTokenFromPeerReplica(token, hostname, remoteReplicaPath);
      }
      FindInfo findInfo = index.findEntriesSince(token, maxTotalSizeOfEntries);
      // We don't call onSuccess here because findEntries only involves reading index entries from the index
      // files, which have already been loaded to memory, thus there is no disk operations.
      return findInfo;
    } catch (StoreException e) {
      if (e.getErrorCode() == StoreErrorCodes.IOError) {
        onError();
      }
      throw e;
    } finally {
      context.stop();
    }
  }
Checks the used capacity of the store against the configured percentage thresholds to see if the store
should be read-only or read-write
ambry-store/src/main/java/com/github/ambry/store/BlobStore.java