code: private Catalog replayFailedCatalogRebuildUnderDebug(
              VoltCompiler autoGenCompiler,
              List<VoltCompilerReader> autogenReaderList,
              InMemoryJarfile autoGenJarOutput)
      {
          // Be sure to set RETRY_FAILED_CATALOG_REBUILD_UNDER_DEBUG = true to enable
          // this last ditch retry before crashing.
          // BREAKPOINT HERE!
          // Then step IN to debug the failed rebuild -- or, just as likely, the canonical ddl.
          // Or step OVER to debug just the catalog diff process, retried with verbose output --
          // maybe it's just being too sensitive to immaterial changes?
          Catalog autoGenCatalog = autoGenCompiler.compileCatalogInternal(null, null,
                  autogenReaderList, autoGenJarOutput);
          return autoGenCatalog;
      }
docs: Take two steps back to retry and potentially debug a catalog rebuild
  that generated an unintended change. This code is PURPOSELY redundant
  with the mainline call in debugVerifyCatalog above.
  Keep the two calls in synch and only redirect through this function
  in the post-mortem replay after the other call created a flawed catalog.