Fix race condition between NodeAppConfig.migrate() calls when bitcoin-s.tor.enabled=false (#5120)

* Fix race condition between NodeAppConfig.migrate() calls

* Use Future.traverse()
This commit is contained in:
Chris Stewart 2023-06-28 14:13:26 -05:00 committed by GitHub
parent 6befad2dd3
commit b0cf3d8146
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -95,10 +95,11 @@ case class BitcoinSAppConfig(
val startedTorDependentConfigsF = for {
_ <- torConfig
_ <- Future.sequence(torDependentConfigs.map(_.start()))
_ <- migrateTorDependentDbConfigsF
_ <- Future.traverse(torDependentConfigs)(_.start())
} yield ()
val startedNonTorConfigs = {
val startedNonTorConfigsF = {
for {
_ <- Future.traverse(nonTorConfigs)(_.start())
} yield ()
@ -106,7 +107,7 @@ case class BitcoinSAppConfig(
for {
_ <- migrateTorDependentDbConfigsF
_ <- startedNonTorConfigs
_ <- startedNonTorConfigsF
} yield {
logger.info(
s"Done starting BitcoinSAppConfig, it took=${TimeUtil.currentEpochMs - start}ms")