#2107 First couple of --after-build-id builds remain pending
Closed: MIGRATED 2 years ago by nikromen. Opened 2 years ago by churchyard.

This has happened to me for third time now.

  1. I submit a copr build and note down the ID
  2. I submit several (20+) copr builds with --after-build-id from (1) and --background
  3. While build from (1) runs, all other builds from (2) are pending
  4. Once (1) finishes, the tasks go starting, running... etc usually pretty much in build ID order, except...

The first 3-5 builds remain pending. Presumably forever.

See here. The very bottom build of python-hypothesis is the build from (1).

png


Previously, I've canceled them and started them again. THis time, I leave them pending for investigation. https://copr.fedorainfracloud.org/coprs/churchyard/hypothesis-6.39.1/builds/

Interesting, thank you Miro for the report.

The reason is that batch 28829 is "empty" (no assigned build). Seems like you removed the build(s) inside that batch? We need to handle this case but I'm curious how this happened?

Seems like you removed the build(s) inside that batch?

I haven't removed, deleted nor canceled any builds in this copr project.

Metadata Update from @praiskup:
- Issue tagged with: bug

2 years ago

I think I see the issue then.

  1. I submit a copr build and note down the ID
  2. I submit several (20+) copr builds with --after-build-id from (1) and --background

This creates 20+ batches. And the batch create is logic is racy (bug) ...
https://pagure.io/copr/copr/blob/5e4efa97c1a1db5fb8a42ce7f4fc5413e0767b7a/f/frontend/coprs_frontend/coprs/logic/batches_logic.py#_17-23

I suppose you create all those buidls in 2) by some script. So the first N builds race against each other and all of them create a new branch for the build from 1). But eventually, each build can be assigned only to a single batch - so the batches become orphaned.

This deserves fixes on multiple places, please allow us some time :-)

Otherwise, I think you want something like:
1. submit the FIRST build
2. submit SECOND build --after-build-id FIRST
3. submit the rest of the builds --with-build-id SECOND

This way you create just two batches with the same semantics?

Work-around is to put some "sleep" command after the first build is submitted.

I suppose you create all those buidls in 2) by some script.

Yes, by parallel copr build-package $COPR --nowait --background --after-build-id 3597090 --name -- <pkg1> <pkg2> ...

https://copr.fedorainfracloud.org/coprs/churchyard/hypothesis-6.39.1/ interestingly appears to be a "temporary project: will be deleted ASAP" forever. May I kill the builds and let it be deleted?

Metadata Update from @praiskup:
- Issue assigned to frostyx

2 years ago

Metadata Update from @praiskup:
- Assignee reset

2 years ago

Metadata Update from @praiskup:
- Issue assigned to praiskup

2 years ago

Metadata Update from @nikromen:
- Issue close_status updated to: MIGRATED
- Issue status updated to: Closed (was: Open)

2 years ago

Log in to comment on this ticket.

Metadata
Attachments 1
png
Attached 2 years ago View Comment