code: @Override
      protected void doSync(long startRevision, boolean startup) throws JournalException {
          if (!startup) {
              // if the cluster node is not starting do a normal sync
              doSync(startRevision);
          } else {
              try {
                  startBatch();
                  try {
                      doSync(startRevision);
                  } finally {
                      endBatch(true);
                  }
              } catch (SQLException e) {
                  throw new JournalException("Couldn't sync the cluster node", e);
              }
          }
      }
docs: Synchronize contents from journal. May be overridden by subclasses.
  Do the initial sync in batchMode, since some databases (PSQL) when
  not in transactional mode, load all results in memory which causes
  out of memory. See JCR-2832
  
  @param startRevision start point (exclusive)
  @param startup indicates if the cluster node is syncing on startup
  or does a normal sync.
  @throws JournalException if an error occurs