/** * Up to this many background threads will copy files for * {@link BackupEngine#createNewBackup(RocksDB, boolean)} and * {@link BackupEngine#restoreDbFromBackup(int, String, String, RestoreOptions)} * * Default: 1 * * @param maxBackgroundOperations The maximum number of background threads * @return instance of current BackupableDBOptions. */ public BackupableDBOptions setMaxBackgroundOperations( final int maxBackgroundOperations) { assert(isOwningHandle()); setMaxBackgroundOperations(nativeHandle_, maxBackgroundOperations); return this; }
/** * Backups the DB to a local path. * @param backupPath - The local backup path */ protected void backup(String backupPath) throws RocksDBException { File file = new File(backupPath); if(!file.exists()) file.mkdir(); BackupableDBOptions backupOptions = new BackupableDBOptions(backupPath) .setShareTableFiles(true) .setMaxBackgroundOperations(parallelism); BackupEngine backupEngine = BackupEngine.open(Env.getDefault(), backupOptions); backupEngine.createNewBackup(rocksDB, true); backupEngine.purgeOldBackups(backupsToKeep); backupEngine.close(); backupOptions.close(); }
BackupableDBOptions backupOptions = new BackupableDBOptions(backupPath) .setShareTableFiles(true) .setMaxBackgroundOperations(parallelism); BackupEngine backupEngine = BackupEngine.open(Env.getDefault(), backupOptions); List<BackupInfo> backupInfo = backupEngine.getBackupInfo();