Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ff086b9
get a failing test
OriolMunoz-da Aug 20, 2025
ea2f40a
Break when the results would be bad [ci]
OriolMunoz-da Aug 20, 2025
ee72588
[ci] fix things
OriolMunoz-da Aug 20, 2025
cae3fad
[ci] more fixes
OriolMunoz-da Aug 20, 2025
4199050
[ci] was that a gha/k8s failure or did i cause that? let's find out
OriolMunoz-da Aug 20, 2025
0c01122
[ci] refactor so many queries something is bound to break
OriolMunoz-da Aug 21, 2025
096ea57
[ci] remove many instances of getFromResources
OriolMunoz-da Aug 21, 2025
24b712a
[ci] fix splitwell
OriolMunoz-da Aug 21, 2025
3b845ce
[ci] fix bad query
OriolMunoz-da Aug 21, 2025
50077da
unused variable
OriolMunoz-da Aug 21, 2025
15d666a
[ci] bump descriptors
OriolMunoz-da Aug 21, 2025
a76111d
Merge branch 'main' into oriol/packagename-stores-interface-fallback
OriolMunoz-da Aug 25, 2025
59c5890
fix many compile errors
OriolMunoz-da Aug 25, 2025
3184d5a
add indexes with todo
OriolMunoz-da Aug 25, 2025
5910a9f
[ci] change definition of all indexes involving tid
OriolMunoz-da Aug 25, 2025
1680a64
[ci] also truncate store_last_ingested_offsets
OriolMunoz-da Aug 25, 2025
dc7e00d
Merge branch 'main' into oriol/packagename-stores-interface-fallback
OriolMunoz-da Aug 26, 2025
5bfdbca
[ci] revert bump of txlog descriptor
OriolMunoz-da Aug 26, 2025
cb9983f
wip
OriolMunoz-da Aug 26, 2025
16df3a3
fix comment
OriolMunoz-da Sep 5, 2025
5ca46b9
Merge branch 'main' into oriol/packagename-stores-interface-fallback
OriolMunoz-da Sep 5, 2025
553b6c9
[ci] update migration
OriolMunoz-da Sep 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ trait LedgerApiExtensions extends AppendedClues with Matchers {
predicate: TC => Boolean = (_: TC) => true,
): Seq[TC] = {
val filterIdentifier =
PackageQualifiedName.getFromResources(templateCompanion.getTemplateIdWithPackageId)
PackageQualifiedName.fromJavaCodegenCompanion(templateCompanion)
val templateId = TemplateId(
s"#${filterIdentifier.packageName}",
filterIdentifier.qualifiedName.moduleName,
Expand Down Expand Up @@ -430,8 +430,7 @@ trait LedgerApiExtensions extends AppendedClues with Matchers {
](templateCompanion: javaapi.data.codegen.ContractCompanion[TC, TCid, T])(
partyId: PartyId
): Seq[CreatedEvent] = {
val filterIdentifier =
PackageQualifiedName.getFromResources(templateCompanion.getTemplateIdWithPackageId)
val filterIdentifier = PackageQualifiedName.fromJavaCodegenCompanion(templateCompanion)
val templateId = TemplateId(
s"#${filterIdentifier.packageName}",
filterIdentifier.qualifiedName.moduleName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1120,11 +1120,11 @@ class DecentralizedSynchronizerMigrationIntegrationTest
pageSize = 1000,
templates = Some(
Vector(
DsoRules.TEMPLATE_ID_WITH_PACKAGE_ID,
AmuletRules.TEMPLATE_ID_WITH_PACKAGE_ID,
AnsRules.TEMPLATE_ID_WITH_PACKAGE_ID,
DsoRules.COMPANION,
AmuletRules.COMPANION,
AnsRules.COMPANION,
).map(
PackageQualifiedName.getFromResources(_)
PackageQualifiedName.fromJavaCodegenCompanion
)
),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -510,8 +510,8 @@ class ScanTimeBasedIntegrationTest
migrationId,
templates = Some(
Vector(
PackageQualifiedName.getFromResources(Amulet.TEMPLATE_ID_WITH_PACKAGE_ID),
PackageQualifiedName.getFromResources(AnsEntry.TEMPLATE_ID_WITH_PACKAGE_ID),
PackageQualifiedName.fromJavaCodegenCompanion(Amulet.COMPANION),
PackageQualifiedName.fromJavaCodegenCompanion(AnsEntry.COMPANION),
)
),
partyIds = Some(Vector(aliceUserParty)),
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import org.lfdecentralizedtrust.splice.codegen.java.splice.dsorules.VoteRequest
import org.lfdecentralizedtrust.splice.store.db.AcsQueries.AcsStoreId
import org.lfdecentralizedtrust.splice.store.db.TxLogQueries.TxLogStoreId
import org.lfdecentralizedtrust.splice.store.db.{AcsQueries, TxLogQueries}
import org.lfdecentralizedtrust.splice.util.QualifiedName
import slick.dbio.{Effect, NoStream}
import slick.jdbc.canton.ActionBasedSQLInterpolation.Implicits.actionBasedSQLInterpolationCanton
import slick.sql.SqlStreamingAction
Expand Down Expand Up @@ -110,10 +109,8 @@ trait DbVotesAcsStoreQueryBuilder extends AcsQueries with LimitHelpers with Name
acsTableName,
acsStoreId,
domainMigrationId,
where = (sql""" template_id_qualified_name = ${QualifiedName(
VoteRequest.TEMPLATE_ID_WITH_PACKAGE_ID
)}
and #$trackingCidColumnName in """ ++ voteRequestTrackingCidsSql).toActionBuilder,
VoteRequest.COMPANION,
where = (sql""" #$trackingCidColumnName in """ ++ voteRequestTrackingCidsSql).toActionBuilder,
orderLimit = sql"""limit ${sqlLimit(limit)}""",
)
}
Expand All @@ -133,10 +130,8 @@ trait DbVotesAcsStoreQueryBuilder extends AcsQueries with LimitHelpers with Name
acsTableName,
acsStoreId,
domainMigrationId,
where = (sql""" template_id_qualified_name = ${QualifiedName(
VoteRequest.TEMPLATE_ID_WITH_PACKAGE_ID
)}
and #$trackingCidColumnName = $voteRequestCid """).toActionBuilder,
VoteRequest.COMPANION,
where = (sql""" #$trackingCidColumnName = $voteRequestCid """).toActionBuilder,
).headOption
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ import com.daml.ledger.api.v2.transaction_filter.{
CumulativeFilter,
TransactionFilter as LapiTransactionFilter,
}
import org.lfdecentralizedtrust.splice.util.Contract.Companion.Template as TemplateCompanion
import org.lfdecentralizedtrust.splice.util.Contract.Companion.{
Interface,
Template as TemplateCompanion,
}
import com.daml.ledger.javaapi.data.{CreatedEvent, ExercisedEvent, Identifier, Template}
import com.daml.ledger.javaapi.data.codegen.{ContractId, DamlRecord}
import com.daml.metrics.api.MetricsContext
Expand All @@ -29,6 +32,7 @@ import org.lfdecentralizedtrust.splice.util.{
Contract,
ContractWithState,
PackageQualifiedName,
QualifiedName,
TemplateJsonDecoder,
}
import org.lfdecentralizedtrust.splice.util.PrettyInstances.*
Expand Down Expand Up @@ -175,22 +179,6 @@ trait MultiDomainAcsStore extends HasIngestionSink with AutoCloseable with Named
traceContext: TraceContext,
): Future[Seq[Contract[TCid, T]]]

/** At most 1000 (`notOnDomainsTotalLimit`) contracts sorted by a hash of
* contract ID and participant ID.
*
* The idea is that different apps making the same migration on different
* participants will split the work better, while preserving determinism of a
* specific running app for fault-tolerance. For the former to happen, the
* position of a contract on one list must have no correlation with that on
* another list; that is why the contract ID by itself cannot be used by
* itself as the source of the sort key.
*/
def listAssignedContractsNotOnDomainN(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused except in a test (also deleted)

excludedDomain: SynchronizerId,
companions: Seq[ConstrainedTemplate],
limit: notOnDomainsTotalLimit.type = notOnDomainsTotalLimit,
)(implicit tc: TraceContext): Future[Seq[AssignedContract[?, ?]]]

private[splice] def listExpiredFromPayloadExpiry[C, TCid <: ContractId[T], T <: Template](
companion: C
)(implicit
Expand Down Expand Up @@ -473,7 +461,7 @@ object MultiDomainAcsStore {
TemplateFilter[TCid, T, R],
) =
(
PackageQualifiedName.getFromResources(templateCompanion.getTemplateIdWithPackageId),
PackageQualifiedName.fromJavaCodegenCompanion(templateCompanion),
TemplateFilter(
ev => {
val c = Contract.fromCreatedEvent(templateCompanion)(ev)
Expand Down Expand Up @@ -600,6 +588,8 @@ object MultiDomainAcsStore {

def typeId(companion: C): Identifier

def packageQualifiedName(companion: C): PackageQualifiedName

def toContractId(companion: C, contractId: String): TCid

protected def fromJson(
Expand All @@ -622,6 +612,13 @@ object MultiDomainAcsStore {
override def typeId(companion: Contract.Companion.Template[TCid, T]): Identifier =
companion.getTemplateIdWithPackageId

override def packageQualifiedName(
companion: TemplateCompanion[TCid, T]
): PackageQualifiedName = PackageQualifiedName(
companion.PACKAGE_NAME,
QualifiedName(companion.getTemplateIdWithPackageId),
)

override def toContractId(companion: Companion.Template[TCid, T], contractId: String): TCid =
companion.toContractId(new ContractId[T](contractId))

Expand Down Expand Up @@ -655,6 +652,13 @@ object MultiDomainAcsStore {
override def typeId(companion: Contract.Companion.Interface[ICid, Marker, View]): Identifier =
companion.getTemplateIdWithPackageId

override def packageQualifiedName(
companion: Interface[ICid, Marker, View]
): PackageQualifiedName = PackageQualifiedName(
companion.PACKAGE_NAME,
QualifiedName(companion.getTemplateIdWithPackageId),
)

override def toContractId(
companion: Companion.Interface[ICid, Marker, View],
contractId: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@ import io.circe.parser.parse as circeParse
import org.lfdecentralizedtrust.splice.store.db.AcsQueries.AcsStoreId
import org.lfdecentralizedtrust.splice.store.db.TxLogQueries.TxLogStoreId
import org.lfdecentralizedtrust.splice.util.Contract.Companion
import org.lfdecentralizedtrust.splice.util.{Contract, LegacyOffset, QualifiedName}
import org.lfdecentralizedtrust.splice.util.{
Contract,
LegacyOffset,
PackageQualifiedName,
QualifiedName,
}
import slick.ast.FieldSymbol
import slick.jdbc.{GetResult, JdbcType, PositionedParameters, PositionedResult, SetParameter}
import com.digitalasset.canton.LfValue
Expand Down Expand Up @@ -191,6 +196,11 @@ trait AcsJdbcTypes {
protected implicit val qualifiedNameGetResult: GetResult[QualifiedName] =
GetResult.GetString.andThen { s => QualifiedName.assertFromString(s) }

protected implicit val packageQualifiedNameGetResult: GetResult[PackageQualifiedName] =
implicitly[GetResult[(QualifiedName, String)]].andThen { case (qualifiedName, packageName) =>
PackageQualifiedName(packageName, qualifiedName)
}

protected implicit lazy val qualifiedNameJdbcType: JdbcType[QualifiedName] =
MappedColumnType.base[QualifiedName, String](
{ _.toString }, {
Expand Down
Loading
Loading