Skip to content

Commit 56e9336

Browse files
authored
Etcm 52 make sure mantis works on windows (#671)
1 parent db81a4d commit 56e9336

File tree

9 files changed

+119
-77
lines changed

9 files changed

+119
-77
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ project/boot/
44
project/plugins/project/
55
.ensime
66
.ensime_cache/
7+
.bloop
78

89
# IDE folders
910
.idea/
1011
.metals/
12+
metals.sbt
1113
.vscode/
1214

1315
# intellij scala worksheet

build.sbt

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,18 @@ import scala.sys.process.Process
66
val nixBuild = sys.props.isDefinedAt("nix")
77

88
val commonSettings = Seq(
9-
name := "mantis-core",
9+
name := "mantis",
1010
version := "3.0",
1111
scalaVersion := "2.12.12",
1212
testOptions in Test += Tests
1313
.Argument(TestFrameworks.ScalaTest, "-l", "EthashMinerSpec") // miner tests disabled by default
1414
)
1515

16-
// Resolver for rocksDb
17-
resolvers += "rocksDb" at "https://dl.bintray.com/ethereum/maven/"
18-
1916
val dep = {
2017
val akkaVersion = "2.6.9"
2118
val akkaHttpVersion = "10.2.0"
2219
val circeVersion = "0.9.3"
23-
val rocksDb = "5.9.2"
20+
val rocksDb = "6.11.4"
2421

2522
Seq(
2623
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
@@ -32,7 +29,7 @@ val dep = {
3229
"org.json4s" %% "json4s-native" % "3.5.4",
3330
"de.heikoseeberger" %% "akka-http-json4s" % "1.34.0",
3431
"io.suzaku" %% "boopickle" % "1.3.0",
35-
"org.ethereum" % "rocksdbjni" % rocksDb,
32+
"org.rocksdb" % "rocksdbjni" % rocksDb,
3633
"io.circe" %% "circe-core" % circeVersion,
3734
"io.circe" %% "circe-generic" % circeVersion,
3835
"io.circe" %% "circe-parser" % circeVersion,
@@ -85,19 +82,19 @@ val Snappy = config("snappy") extend Test
8582
val Rpc = config("rpcTest") extend Test
8683

8784
val root = {
88-
val root = project.in(file("."))
85+
val root = project
86+
.in(file("."))
8987
.configs(Integration, Benchmark, Evm, Ets, Snappy, Rpc)
9088
.settings(commonSettings: _*)
9189
.settings(
92-
libraryDependencies ++= dep,
93-
executableScriptName := name.value
90+
libraryDependencies ++= dep
9491
)
95-
.settings(inConfig(Integration)(Defaults.testSettings) : _*)
96-
.settings(inConfig(Benchmark)(Defaults.testSettings) : _*)
97-
.settings(inConfig(Evm)(Defaults.testSettings) : _*)
98-
.settings(inConfig(Ets)(Defaults.testSettings) : _*)
99-
.settings(inConfig(Snappy)(Defaults.testSettings) : _*)
100-
.settings(inConfig(Rpc)(Defaults.testSettings) : _*)
92+
.settings(inConfig(Integration)(Defaults.testSettings): _*)
93+
.settings(inConfig(Benchmark)(Defaults.testSettings): _*)
94+
.settings(inConfig(Evm)(Defaults.testSettings): _*)
95+
.settings(inConfig(Ets)(Defaults.testSettings): _*)
96+
.settings(inConfig(Snappy)(Defaults.testSettings): _*)
97+
.settings(inConfig(Rpc)(Defaults.testSettings): _*)
10198

10299
if (!nixBuild)
103100
root
@@ -124,7 +121,7 @@ scalacOptions in (Compile, console) ~= (_.filterNot(
124121
)
125122
))
126123

127-
parallelExecution in Test := false
124+
Test / parallelExecution := false
128125

129126
testOptions in Test += Tests.Argument("-oDG")
130127

@@ -142,11 +139,13 @@ unmanagedResourceDirectories in Compile += baseDirectory.value / "src" / "main"
142139
(scalastyleConfig in Test) := baseDirectory.value / "scalastyle-test-config.xml"
143140
scalastyleSources in Test ++= { (unmanagedSourceDirectories in Integration).value }
144141

142+
// Packaging
145143
mainClass in Compile := Some("io.iohk.ethereum.App")
146-
144+
Universal / executableScriptName := name.value
145+
discoveredMainClasses in Compile := Seq()
147146
// Requires the 'ant-javafx.jar' that comes with Oracle JDK
148147
// Enables creating an executable with the configuration files, has to be run on the OS corresponding to the desired version
149-
jdkPackagerType := "image"
148+
ThisBuild / jdkPackagerType := "image"
150149

151150
Universal / mappings += (resourceDirectory in Compile).value / "logback.xml" -> "conf/logback.xml"
152151

project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
logLevel := sbt.Level.Warn
22
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
33
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0")
4-
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.21")
4+
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.7.5")
55
addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % "2.1.0")
66
addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.25")
77
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.4.2")

project/repo.nix

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,22 @@
157157
url = "https://repo1.maven.org/maven2/com/github/cb372/scalacache-core_2.12/0.20.0/scalacache-core_2.12-0.20.0.pom";
158158
sha256 = "D367AAFE69A333382A17065264A6067C474CBFC8D61F2A8971CD3098CAABFE65";
159159
};
160+
"nix-public/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2-javadoc.jar" = {
161+
url = "https://repo1.maven.org/maven2/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2-javadoc.jar";
162+
sha256 = "69585EC8889F9D335892F20AFAD9D70DCDFB027285FD292BA42F46F4A80D750F";
163+
};
164+
"nix-public/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2-sources.jar" = {
165+
url = "https://repo1.maven.org/maven2/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2-sources.jar";
166+
sha256 = "BB242A115302FDD8A9DB37D702C470D7105CFB477E0DBBF35A0E607A5F581D61";
167+
};
168+
"nix-public/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2.jar" = {
169+
url = "https://repo1.maven.org/maven2/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2.jar";
170+
sha256 = "4301389ED6EFFB3D8363F0B479B90A9CB787D8E265EB12E74CDB69D1AFD601DD";
171+
};
172+
"nix-public/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2.pom" = {
173+
url = "https://repo1.maven.org/maven2/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2.pom";
174+
sha256 = "C0791A83C22AD1B5D2ED09B90DD8F1C23165D1621CF4D7980C37E5831B9EBF46";
175+
};
160176
"nix-public/com/github/os72/protoc-jar/3.7.1/protoc-jar-3.7.1-javadoc.jar" = {
161177
url = "https://repo1.maven.org/maven2/com/github/os72/protoc-jar/3.7.1/protoc-jar-3.7.1-javadoc.jar";
162178
sha256 = "ADD502CC22965B3A99D8D93209C8CA1E360753B4873D4AF3A5140C0D05540982";
@@ -637,33 +653,33 @@
637653
url = "https://repo1.maven.org/maven2/org/apache/apache/18/apache-18.pom";
638654
sha256 = "7831307285FD475BBC36B20AE38E7882F11C3153B1D5930F852D44EDA8F33C17";
639655
};
640-
"nix-public/org/apache/apache/19/apache-19.pom" = {
641-
url = "https://repo1.maven.org/maven2/org/apache/apache/19/apache-19.pom";
642-
sha256 = "91F7A33096EA69BAC2CBAF6D01FEB934CAC002C48D8C8CFA9C240B40F1EC21DF";
656+
"nix-public/org/apache/apache/21/apache-21.pom" = {
657+
url = "https://repo1.maven.org/maven2/org/apache/apache/21/apache-21.pom";
658+
sha256 = "AF10C108DA014F17CAFAC7B52B2B4B5A3A1C18265FA2AF97A325D9143537B380";
643659
};
644-
"nix-public/org/apache/commons/commons-compress/1.18/commons-compress-1.18-javadoc.jar" = {
645-
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18-javadoc.jar";
646-
sha256 = "23B382156431D6350745C571E533FABE28AEBE8DA1DE6E039E8E480BB9764DFC";
660+
"nix-public/org/apache/commons/commons-compress/1.20/commons-compress-1.20-javadoc.jar" = {
661+
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20-javadoc.jar";
662+
sha256 = "795F3D42E74EF4786045F59CAA8C015A31A165977BDCAE5F053CF103B276FC3D";
647663
};
648-
"nix-public/org/apache/commons/commons-compress/1.18/commons-compress-1.18-sources.jar" = {
649-
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18-sources.jar";
650-
sha256 = "C8E6896EB3D3880FFC21BB93D563B7CC0D3E2152C8181F261A748502290A5947";
664+
"nix-public/org/apache/commons/commons-compress/1.20/commons-compress-1.20-sources.jar" = {
665+
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20-sources.jar";
666+
sha256 = "0EB5D7F270C2FCCDAB31DAA5F7091B038AD0099B29885040604D66E07FD46A18";
651667
};
652-
"nix-public/org/apache/commons/commons-compress/1.18/commons-compress-1.18-tests.jar" = {
653-
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18-tests.jar";
654-
sha256 = "630A8C16D58D2D7475C82A98B032390831D22589BCCD0F9086E95E85742A41B3";
668+
"nix-public/org/apache/commons/commons-compress/1.20/commons-compress-1.20-tests.jar" = {
669+
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20-tests.jar";
670+
sha256 = "0D3A25B099D7B6FCA3B46DB709A31921D02DF4852452FE81374679FA28A183E3";
655671
};
656-
"nix-public/org/apache/commons/commons-compress/1.18/commons-compress-1.18.jar" = {
657-
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18.jar";
658-
sha256 = "5F2DF1E467825E4CAC5996D44890C4201C000B43C0B23CFFC0782D28A0BEB9B0";
672+
"nix-public/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar" = {
673+
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar";
674+
sha256 = "0AEB625C948C697EA7B205156E112363B59ED5E2551212CD4E460BDB72C7C06E";
659675
};
660-
"nix-public/org/apache/commons/commons-compress/1.18/commons-compress-1.18.pom" = {
661-
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18.pom";
662-
sha256 = "672C5FE92BD3EAB43E8D53338CAD5CA073B6529DE4EB2B38859A3EAA6C9E8119";
676+
"nix-public/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom" = {
677+
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom";
678+
sha256 = "D95678E3AF56B17C7DB6CFF9645EFAD5EB59BE9F3C1CAAAF5F0146EDF04691D7";
663679
};
664-
"nix-public/org/apache/commons/commons-parent/47/commons-parent-47.pom" = {
665-
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/47/commons-parent-47.pom";
666-
sha256 = "8A8ECB570553BF9F1FFAE211A8D4CA9EE630C17AFE59293368FBA7BD9B42FCB7";
680+
"nix-public/org/apache/commons/commons-parent/48/commons-parent-48.pom" = {
681+
url = "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/48/commons-parent-48.pom";
682+
sha256 = "1E1F7DE9370A7B7901F128F1DACD1422BE74E3F47F9558B0F79E04C0637CA0B4";
667683
};
668684
"nix-public/org/apache/logging/log4j/log4j-api/2.11.1/log4j-api-2.11.1-javadoc.jar" = {
669685
url = "https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.1/log4j-api-2.11.1-javadoc.jar";
@@ -2237,21 +2253,21 @@
22372253
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.timushev.sbt/sbt-updates/scala_2.12/sbt_1.0/0.4.2/srcs/sbt-updates-sources.jar";
22382254
sha256 = "E8749363973A15F149FE99370059A95A8119079B7782346C68652EE4F050D548";
22392255
};
2240-
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/docs/sbt-native-packager-javadoc.jar" = {
2241-
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/docs/sbt-native-packager-javadoc.jar";
2242-
sha256 = "2587BBFB8070A02CDF89084BCA34B6CAA545CA90EA15C9AAF3B99A16E7561FC6";
2256+
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/docs/sbt-native-packager-javadoc.jar" = {
2257+
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/docs/sbt-native-packager-javadoc.jar";
2258+
sha256 = "0F6989FEA02D899E22CDE3F72D91BDF86EA32E99A0D9F4AB10C32C94ECD017BF";
22432259
};
2244-
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/ivys/ivy.xml" = {
2245-
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/ivys/ivy.xml";
2246-
sha256 = "32CCF2FADD93C8A0D5C7F72386498C2DCA3CB0EF096296271C0758C798612F00";
2260+
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml" = {
2261+
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml";
2262+
sha256 = "C289AEEC00392CCA6451F92857D3C7EFF4BC02A819A2829E3D7BB961C57133B9";
22472263
};
2248-
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/jars/sbt-native-packager.jar" = {
2249-
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/jars/sbt-native-packager.jar";
2250-
sha256 = "5BF5AD2993CD353B09735E98D17CCAC1DAD414EB362F04D06639DB476E788E6B";
2264+
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/jars/sbt-native-packager.jar" = {
2265+
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/jars/sbt-native-packager.jar";
2266+
sha256 = "54458E1DF2E7603AA9C533552B75B918859E4B5318C4EE4E2A19245725747613";
22512267
};
2252-
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/srcs/sbt-native-packager-sources.jar" = {
2253-
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.21/srcs/sbt-native-packager-sources.jar";
2254-
sha256 = "AE4C22DC69E2D5972AFE1155DE1AC7D596B67F9EF02DB3A2F681B84FE0AD632A";
2268+
"nix-sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/srcs/sbt-native-packager-sources.jar" = {
2269+
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/srcs/sbt-native-packager-sources.jar";
2270+
sha256 = "B5A2E0FC8ED6A5359A4E5FEE211BCB2632E0538F3E6E269AB41BB1D5EF9D8BF4";
22552271
};
22562272
"nix-sbt-plugin-releases/org.portable-scala/sbt-platform-deps/scala_2.12/sbt_1.0/1.0.0/docs/sbt-platform-deps-javadoc.jar" = {
22572273
url = "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.portable-scala/sbt-platform-deps/scala_2.12/sbt_1.0/1.0.0/docs/sbt-platform-deps-javadoc.jar";

repo.nix

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
"sbtVersion" = "1.2.8";
66
}];
77
"repos" = {
8-
"nix-public" = "";
9-
"nix-rocksDb" = "";
8+
"nix-public" = "";
109
};
1110
"artifacts" = {
1211
"nix-public/ch/megard/akka-http-cors_2.12/1.1.0/akka-http-cors_2.12-1.1.0-javadoc.jar" = {
@@ -1789,6 +1788,22 @@
17891788
url = "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.pom";
17901789
sha256 = "CCED467175F4257833F6CB07510FF97B3C75A06E1A58D882A39D79853D51C602";
17911790
};
1791+
"nix-public/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4-javadoc.jar" = {
1792+
url = "https://repo1.maven.org/maven2/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4-javadoc.jar";
1793+
sha256 = "EAA6C896CC6DC514F4DB5B4DD2E40ADC610A294FB3B02E881730F018D3405380";
1794+
};
1795+
"nix-public/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4-sources.jar" = {
1796+
url = "https://repo1.maven.org/maven2/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4-sources.jar";
1797+
sha256 = "B803678A03603322237B39FFB63A4D5DE5676195BA9F1F3099FB5EE926C36314";
1798+
};
1799+
"nix-public/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4.jar" = {
1800+
url = "https://repo1.maven.org/maven2/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4.jar";
1801+
sha256 = "58F650062D3C87CE4170BD43BB56273B5E92AD20996BAA27A04DDB6836139B8B";
1802+
};
1803+
"nix-public/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4.pom" = {
1804+
url = "https://repo1.maven.org/maven2/org/rocksdb/rocksdbjni/6.11.4/rocksdbjni-6.11.4.pom";
1805+
sha256 = "B3A6AA2AA590DD5DD1FB9160DE220756C87BB9BA71815CE3ED39592F8A5338F6";
1806+
};
17921807
"nix-public/org/scala-lang/modules/scala-java8-compat_2.12/0.8.0/scala-java8-compat_2.12-0.8.0-javadoc.jar" = {
17931808
url = "https://repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.12/0.8.0/scala-java8-compat_2.12-0.8.0-javadoc.jar";
17941809
sha256 = "9175A09E404F75EC013219B54A51DF8788F890E0443BAE7A96FFC1AE74EF24F2";
@@ -2876,14 +2891,6 @@
28762891
"nix-public/org/xerial/snappy/snappy-java/1.1.7.2/snappy-java-1.1.7.2.pom" = {
28772892
url = "https://repo1.maven.org/maven2/org/xerial/snappy/snappy-java/1.1.7.2/snappy-java-1.1.7.2.pom";
28782893
sha256 = "F4C30DDEE95B914F0233CB2ACFCBA1C934A6984EA468EC0ECE4218E5D98E17CD";
2879-
};
2880-
"nix-rocksDb/org/ethereum/rocksdbjni/5.9.2/rocksdbjni-5.9.2.jar" = {
2881-
url = "https://dl.bintray.com/ethereum/maven/org/ethereum/rocksdbjni/5.9.2/rocksdbjni-5.9.2.jar";
2882-
sha256 = "E82BD73857B0748383F8E8CEAD0EBCDE14A413A41CBDE1D85CB7980ABFC1D662";
2883-
};
2884-
"nix-rocksDb/org/ethereum/rocksdbjni/5.9.2/rocksdbjni-5.9.2.pom" = {
2885-
url = "https://dl.bintray.com/ethereum/maven/org/ethereum/rocksdbjni/5.9.2/rocksdbjni-5.9.2.pom";
2886-
sha256 = "609416E1254A938C8B42E8EA5B9EF2D8E8D8981AC8CEDF931E92937EA34FABF1";
28872894
};
28882895
};
28892896
}

src/main/scala/io/iohk/ethereum/db/dataSource/RocksDbDataSource.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class RocksDbDataSource(
8383
try {
8484
withResources(new WriteOptions()){ writeOptions =>
8585
withResources(new WriteBatch()){ batch =>
86-
toRemove.foreach{ key => batch.remove(handles(namespace), key.toArray) }
86+
toRemove.foreach{ key => batch.delete(handles(namespace), key.toArray) }
8787
toUpsert.foreach{ case (k, v) => batch.put(handles(namespace), k.toArray, v.toArray) }
8888

8989
db.write(writeOptions, batch)
@@ -115,7 +115,7 @@ class RocksDbDataSource(
115115
try {
116116
withResources(new WriteOptions()){ writeOptions =>
117117
withResources(new WriteBatch()){ batch =>
118-
toRemove.foreach{ key => batch.remove(key) }
118+
toRemove.foreach{ key => batch.delete(key) }
119119
toUpsert.foreach{ case (k, v) => batch.put(k, v) }
120120

121121
db.write(writeOptions, batch)
@@ -193,10 +193,10 @@ class RocksDbDataSource(
193193

194194
val tableCfg = new BlockBasedTableConfig()
195195
.setBlockSize(blockSize)
196-
.setBlockCacheSize(blockCacheSize)
196+
.setBlockCache(new ClockCache(blockCacheSize))
197197
.setCacheIndexAndFilterBlocks(true)
198198
.setPinL0FilterAndIndexBlocksInCache(true)
199-
.setFilter(new BloomFilter(10, false))
199+
.setFilterPolicy(new BloomFilter(10, false))
200200

201201
val options = new Options()
202202
.setCreateIfMissing(createIfMissing)
@@ -253,10 +253,10 @@ object RocksDbDataSource {
253253

254254
val tableCfg = new BlockBasedTableConfig()
255255
.setBlockSize(blockSize)
256-
.setBlockCacheSize(blockCacheSize)
256+
.setBlockCache(new ClockCache(blockCacheSize))
257257
.setCacheIndexAndFilterBlocks(true)
258258
.setPinL0FilterAndIndexBlocksInCache(true)
259-
.setFilter(new BloomFilter(10, false))
259+
.setFilterPolicy(new BloomFilter(10, false))
260260

261261
val options = new DBOptions()
262262
.setCreateIfMissing(createIfMissing)

src/main/scala/io/iohk/ethereum/nodebuilder/NodeBuilder.scala

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -534,9 +534,17 @@ trait GenesisDataLoaderBuilder {
534534
lazy val genesisDataLoader = new GenesisDataLoader(blockchain, blockchainConfig)
535535
}
536536

537-
trait SecureRandomBuilder {
537+
trait SecureRandomBuilder extends Logger {
538538
lazy val secureRandom: SecureRandom =
539-
Config.secureRandomAlgo.map(SecureRandom.getInstance).getOrElse(new SecureRandom())
539+
Config.secureRandomAlgo
540+
.flatMap(name => Try(SecureRandom.getInstance(name)) match {
541+
case Failure(exception) =>
542+
log.warn(s"Couldn't create SecureRandom instance using algorithm ${name}. Falling-back to default one")
543+
None
544+
case Success(value) =>
545+
Some(value)
546+
})
547+
.getOrElse(new SecureRandom())
540548
}
541549

542550
/** Provides the basic functionality of a Node, except the consensus algorithm.

src/main/scala/io/iohk/ethereum/utils/Ref.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ package io.iohk.ethereum.utils
33
import java.util.concurrent.atomic.AtomicReference
44

55
/**
6-
* An [[java.util.concurrent.atomic.AtomicReference AtomicReference]] that can be set once.
7-
*/
6+
* An [[https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html AtomicReference]] that can be set once.
7+
*/
88
class Ref[T <: AnyRef] {
99
private[this] final val ref = new AtomicReference[Option[T]](None)
1010

1111
// set once (but not necessarily compute once)
12-
final def setOnce(t: T): Boolean = ref.get().isEmpty && ref.compareAndSet(None, Some(t))
12+
final def setOnce(t: T): Boolean = ref.get().isEmpty && ref.compareAndSet(None, Some(t))
1313

1414
final def isDefined: Boolean = ref.get().isDefined
1515
final def isEmpty: Boolean = ref.get().isEmpty

0 commit comments

Comments
 (0)