Do not consider archives that are already loaded in engine (#2898)

This commit is contained in:
Jussi Mäki 2019-09-13 17:44:18 +02:00 committed by mergify[bot]
parent 68023ac289
commit 6ed6e0e990
2 changed files with 6 additions and 1 deletions

View File

@ -25,7 +25,7 @@ final class PureCompiledPackages private (
packages: Map[PackageId, Package], packages: Map[PackageId, Package],
defns: Map[SDefinitionRef, SExpr]) defns: Map[SDefinitionRef, SExpr])
extends CompiledPackages { extends CompiledPackages {
override def packageIds = packages.keySet override def packageIds: Set[PackageId] = packages.keySet
override def getPackage(pkgId: PackageId): Option[Package] = packages.get(pkgId) override def getPackage(pkgId: PackageId): Option[Package] = packages.get(pkgId)
override def getDefinition(dref: SDefinitionRef): Option[SExpr] = defns.get(dref) override def getDefinition(dref: SDefinitionRef): Option[SExpr] = defns.get(dref)
} }

View File

@ -80,6 +80,11 @@ private[kvutils] case class ProcessPackageUpload(
// Filter out archives that already exists. // Filter out archives that already exists.
val filteredArchives = archives val filteredArchives = archives
.filterNot(
a =>
Ref.PackageId
.fromString(a.getHash)
.fold(_ => false, loadedPackages.contains))
.filter { archive => .filter { archive =>
val stateKey = DamlStateKey.newBuilder val stateKey = DamlStateKey.newBuilder
.setPackageId(archive.getHash) .setPackageId(archive.getHash)