@@ -34,7 +34,8 @@ class RocksDBManager(dataDir: Path, columnFamilies: List[String], optionsFilePat
3434 }
3535 }
3636 options.setCreateIfMissing(true ).setCreateMissingColumnFamilies(true )
37- val newColumnFamilyDescriptors = (columnFamilies.map(_.getBytes) :+ RocksDB .DEFAULT_COLUMN_FAMILY ).diff(cfListRef.toList.map(_.getName)).map(new ColumnFamilyDescriptor (_))
37+ val defaultColumnFamilyOptions = cfListRef.find(_.getName sameElements RocksDB .DEFAULT_COLUMN_FAMILY ).map(_.getOptions).getOrElse(new ColumnFamilyOptions ())
38+ val newColumnFamilyDescriptors = columnFamilies.map(_.getBytes).diff(cfListRef.toList.map(_.getName)).map(new ColumnFamilyDescriptor (_, defaultColumnFamilyOptions))
3839 val columnFamilyDescriptors = cfListRef.toList ::: newColumnFamilyDescriptors
3940 logger.info(" Opening RocksDB at " + dataDir.toAbsolutePath)
4041 val columnFamilyHandles = new util.ArrayList [ColumnFamilyHandle ]
@@ -54,7 +55,7 @@ class RocksDBManager(dataDir: Path, columnFamilies: List[String], optionsFilePat
5455 if (! Files .exists(backupDir) || ! Files .isDirectory(backupDir))
5556 Files .createDirectories(backupDir)
5657
57- RocksDB .loadLibrary
58+ RocksDB .loadLibrary()
5859 val backupEngine = BackupEngine .open(Env .getDefault, new BackupableDBOptions (backupDir.toString))
5960 backupEngine.createNewBackup(db)
6061 backupEngine.purgeOldBackups(1 )
@@ -64,7 +65,7 @@ class RocksDBManager(dataDir: Path, columnFamilies: List[String], optionsFilePat
6465 def restoreFromBackup (backupDir : Path ) = {
6566 logger.info(" Restoring from backup. RocksDB temporarily unavailable" )
6667 close()
67- RocksDB .loadLibrary
68+ RocksDB .loadLibrary()
6869 val backupEngine = BackupEngine .open(Env .getDefault, new BackupableDBOptions (backupDir.toString))
6970 backupEngine.restoreDbFromLatestBackup(dataDir.toString, dataDir.toString, new RestoreOptions (true ))
7071 logger.info(" Restoring from backup complete. Reopening RocksDB" )
0 commit comments