public void updateIndexes(RegionEntry entry, int action, int opCode,
      boolean isDiskRecoveryInProgress) throws QueryException {
    if (isDiskRecoveryInProgress) {
      assert !((LocalRegion) region).isInitialized();
    } else {
      assert Assert.assertHoldsLock(entry, true);
    }
    if (logger.isDebugEnabled()) {
      logger.debug("IndexManager.updateIndexes {} + action: {}", entry.getKey(), action);
    }
    if (entry == null) {
      return;
    }
    if (isIndexMaintenanceTypeSynchronous()) {
      // System.out.println("Synchronous update");
      processAction(entry, action, opCode);
    } else {
      // System.out.println("Aynchronous update");
      updater.addTask(action, entry, opCode);
    }
  }
Callback for IndexManager to update indexes Called from AbstractRegionMap.

@param entry the RegionEntry being updated
@param action action to be taken (IndexManager.ADD_ENTRY, IndexManager.UPDATE_ENTRY,
       IndexManager.REMOVE_ENTRY)
@param opCode one of IndexProtocol.OTHER_OP, BEFORE_UPDATE_OP, AFTER_UPDATE_OP.
geode-core/src/main/java/org/apache/geode/cache/query/internal/index/IndexManager.java