public void backup() { resetDbLock.readLock().lock(); if (logger.isTraceEnabled()) logger.trace("~> RocksDbDataSource.backup(): " + name); Path path = backupPath(); path.toFile().mkdirs(); try (BackupableDBOptions backupOptions = new BackupableDBOptions(path.toString()); BackupEngine backups = BackupEngine.open(Env.getDefault(), backupOptions)) { backups.createNewBackup(db, true); if (logger.isTraceEnabled()) logger.trace("<~ RocksDbDataSource.backup(): " + name + " done"); } catch (RocksDBException e) { logger.error("Failed to backup database '{}'", name, e); hintOnTooManyOpenFiles(e); throw new RuntimeException(e); } finally { resetDbLock.readLock().unlock(); } }
try (BackupableDBOptions backupOptions = new BackupableDBOptions(backupPath().toString()); RestoreOptions restoreOptions = new RestoreOptions(false); BackupEngine backups = BackupEngine.open(Env.getDefault(), backupOptions)) {
/** * Construct options for opening a RocksDB. * * This constructor will create (by allocating a block of memory) * an {@code rocksdb::Options} in the c++ side. */ public Options() { super(newOptions()); env_ = Env.getDefault(); }
/** * Construct options for opening a RocksDB. Reusing database options * and column family options. * * @param dbOptions {@link org.rocksdb.DBOptions} instance * @param columnFamilyOptions {@link org.rocksdb.ColumnFamilyOptions} * instance */ public Options(final DBOptions dbOptions, final ColumnFamilyOptions columnFamilyOptions) { super(newOptions(dbOptions.nativeHandle_, columnFamilyOptions.nativeHandle_)); env_ = Env.getDefault(); }
/** * 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(); }
.setShareTableFiles(true) .setMaxBackgroundOperations(parallelism); BackupEngine backupEngine = BackupEngine.open(Env.getDefault(), backupOptions); List<BackupInfo> backupInfo = backupEngine.getBackupInfo(); if(backupInfo.size() > 0) {
Env env = Env.getDefault(); env.setBackgroundThreads(8, Env.FLUSH_POOL); env.setBackgroundThreads(8, Env.COMPACTION_POOL);