Class RewriteDataFilesCommitManager


  • public class RewriteDataFilesCommitManager
    extends java.lang.Object
    Functionality used by RewriteDataFile Actions from different platforms to handle commits.
    • Constructor Detail

      • RewriteDataFilesCommitManager

        public RewriteDataFilesCommitManager​(Table table)
      • RewriteDataFilesCommitManager

        public RewriteDataFilesCommitManager​(Table table,
                                             long startingSnapshotId)
      • RewriteDataFilesCommitManager

        public RewriteDataFilesCommitManager​(Table table,
                                             long startingSnapshotId,
                                             boolean useStartingSequenceNumber)
    • Method Detail

      • commitFileGroups

        public void commitFileGroups​(java.util.Set<RewriteFileGroup> fileGroups)
        Perform a commit operation on the table adding and removing files as required for this set of file groups
        Parameters:
        fileGroups - fileSets to commit
      • abortFileGroup

        public void abortFileGroup​(RewriteFileGroup fileGroup)
        Clean up a specified file set by removing any files created for that operation, should not throw any exceptions
        Parameters:
        fileGroup - group of files which has already been rewritten
      • commitOrClean

        public void commitOrClean​(java.util.Set<RewriteFileGroup> rewriteGroups)
      • service

        public RewriteDataFilesCommitManager.CommitService service​(int rewritesPerCommit)
        An async service which allows for committing multiple file groups as their rewrites complete. The service also allows for partial-progress since commits can fail. Once the service has been closed no new file groups should not be offered.
        Parameters:
        rewritesPerCommit - number of file groups to include in a commit
        Returns:
        the service for handling commits