Skip to content

Commit c9b67a0

Browse files
author
Youri K
committed
create same sized files
1 parent a7a5478 commit c9b67a0

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

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

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44
package com.scalableminds.fossildb.db
55

6+
import java.io.File
67
import java.nio.file.{Files, Path, Paths}
78
import java.util
89

@@ -109,19 +110,24 @@ class RocksDBManager(dataDir: Path, columnFamilies: List[String], optionsFilePat
109110
val writer = new SstFileWriter(new EnvOptions(), options)
110111
val store = getStoreForColumnFamily("skeletons")
111112
val it = store.get.scan("", None)
112-
it.take(100000).zipWithIndex.foreach { case (seq, idx) =>
113-
writer.open(s"data/test${idx}.sst")
114-
val el = seq
113+
var idx = 0
114+
writer.open(s"data/test${idx}.sst")
115+
it.take(100000).foreach { el =>
116+
if (new File(s"data/test${idx}.sst").length() > options.targetFileSizeBase()) {
117+
writer.finish()
118+
idx += 1
119+
writer.open(s"data/test${idx}.sst")
120+
}
115121
writer.put(el.key.getBytes, el.value)
116-
writer.finish()
117122
}
123+
writer.finish()
118124
}
119125

120126
def writeToNewDB() = {
121127
val manager = new RocksDBManager(Paths.get("data_new"), columnFamilies, Some("config/options.ini"))
122128
val skeletonHandle = manager.columnFamilyHandles("skeletons")
123129
val it = getStoreForColumnFamily("skeletons").get.scan("", None).take(100000)
124-
it.foreach {el => manager.db.put(skeletonHandle, el.key.getBytes, el.value)}
130+
it.foreach { el => manager.db.put(skeletonHandle, el.key.getBytes, el.value) }
125131
}
126132

127133
def loadOptions(optionFilepath: String) = {

0 commit comments

Comments
 (0)