-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
bugSomething isn't workingSomething isn't workingbuild-nodeBuild node related issuesBuild node related issues
Description
As uncovered in this build, multilib processing is failing due to the following error:
asyncpg.exceptions.CardinalityViolationError: more than one row returned by a subquery used as an expression
The query in question is:
subquery = (
select(models.BuildTask.id)
.where(
sqlalchemy.and_(
models.BuildTask.build_id == build_task.build_id,
models.BuildTask.index == build_task.index,
models.BuildTask.arch == "i686",
)
)
.scalar_subquery()
)
Since the build contains 2 platforms (and multilib applies to both), the subquery is returning 2 ids, one for Alma 8 and another one for Alma 9, while we expect to find exactly one.
I imagine that fixing the problem should be as simple as adding the condition models.BuildTask.platform_id == build_task.platform_id to the subquery, to ensure that we limit the results to the i686 packages of the same platform we are processing at that time.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingbuild-nodeBuild node related issuesBuild node related issues
Type
Projects
Status
Ready for dev