Skip to content

Commit 28c8d75

Browse files
author
Youri K
committed
assign right default config to every column family
1 parent a6f8fe3 commit 28c8d75

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/main/scala/com/scalableminds/fossildb/db/RocksDBStore.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)