Class Util


  • public class Util
    extends Object
    A collection of utility methods for dealing with file name parsing, low level I/O file operations and marshalling/unmarshalling.
    • Constructor Detail

      • Util

        public Util()
    • Method Detail

      • makeFileLoggerURL

        public static URI makeFileLoggerURL​(File dataDir,
                                            File dataLogDir)
        Given two directory files the method returns a well-formed logfile provider URI. This method is for backward compatibility with the existing code that only supports logfile persistence and expects these two parameters passed either on the command-line or in the configuration file.
        Parameters:
        dataDir - snapshot directory
        dataLogDir - transaction log directory
        Returns:
        logfile provider URI
      • makeFileLoggerURL

        public static URI makeFileLoggerURL​(File dataDir,
                                            File dataLogDir,
                                            String convPolicy)
      • makeLogName

        public static String makeLogName​(long zxid)
        Creates a valid transaction log file name.
        Parameters:
        zxid - used as a file name suffix (extension)
        Returns:
        file name
      • makeSnapshotName

        public static String makeSnapshotName​(long zxid)
        Creates a snapshot file name.
        Parameters:
        zxid - used as a suffix
        Returns:
        file name
      • getSnapDir

        public static File getSnapDir​(Properties props)
        Extracts snapshot directory property value from the container.
        Parameters:
        props - properties container
        Returns:
        file representing the snapshot directory
      • getLogDir

        public static File getLogDir​(Properties props)
        Extracts transaction log directory property value from the container.
        Parameters:
        props - properties container
        Returns:
        file representing the txn log directory
      • getFormatConversionPolicy

        public static String getFormatConversionPolicy​(Properties props)
        Extracts the value of the dbFormatConversion attribute.
        Parameters:
        props - properties container
        Returns:
        value of the dbFormatConversion attribute
      • getZxidFromName

        public static long getZxidFromName​(String name,
                                           String prefix)
        Extracts zxid from the file name. The file name should have been created using one of the makeLogName(long) or makeSnapshotName(long).
        Parameters:
        name - the file name to parse
        prefix - the file name prefix (snapshot or log)
        Returns:
        zxid
      • readTxnBytes

        public static byte[] readTxnBytes​(InputArchive ia)
                                   throws IOException
        Reads a transaction entry from the input archive.
        Parameters:
        ia - archive to read from
        Returns:
        null if the entry is corrupted or EOF has been reached; a buffer (possible empty) containing serialized transaction record.
        Throws:
        IOException
      • marshallTxnEntry

        public static byte[] marshallTxnEntry​(TxnHeader hdr,
                                              Record txn,
                                              TxnDigest digest)
                                       throws IOException
        Serializes transaction header and transaction data into a byte buffer.
        Parameters:
        hdr - transaction header
        txn - transaction data
        digest - transaction digest
        Returns:
        serialized transaction record
        Throws:
        IOException
      • writeTxnBytes

        public static void writeTxnBytes​(OutputArchive oa,
                                         byte[] bytes)
                                  throws IOException
        Write the serialized transaction record to the output archive.
        Parameters:
        oa - output archive
        bytes - serialized transaction record
        Throws:
        IOException
      • sortDataDir

        public static List<File> sortDataDir​(File[] files,
                                             String prefix,
                                             boolean ascending)
        Sort the list of files. Recency as determined by the version component of the file name.
        Parameters:
        files - array of files
        prefix - files not matching this prefix are assumed to have a version = -1)
        ascending - true sorted in ascending order, false results in descending order
        Returns:
        sorted input files
      • isLogFileName

        public static boolean isLogFileName​(String fileName)
        Returns true if fileName is a log file name.
        Parameters:
        fileName -
      • isSnapshotFileName

        public static boolean isSnapshotFileName​(String fileName)
        Returns true if fileName is a snapshot file name.
        Parameters:
        fileName -