pulp / pulpcore

Pulp 3 pulpcore package https://pypi.org/project/pulpcore/
GNU General Public License v2.0
301 stars 116 forks source link

Repository version errors : Path errors found. Paths are duplicated #2074

Open fao89 opened 2 years ago

fao89 commented 2 years ago

Author: rgp (rgp)

Redmine Issue: 9661, https://pulp.plan.io/issues/9661


Hi, I'm seeing the following errors when syncing ubuntu bionic repositories:

1. grep duplicated production.log-20220105
2022-01-05T03:01:19 [E|bac|4a143c87] Repository version errors : Path errors found. Paths are duplicated: dists/stable/Release,dists/stable/InRelease,dists/stable/Release.gpg,dists/stable/main/binary-amd64/Packages,dists/stable/main/binary-amd64/Packages.gz,dists/stable/main/binary-amd64/Release
2022-01-05T03:02:09 [E|bac|4a143c87] Repository version errors : Path errors found. Paths are duplicated: dists/stable/Release,dists/stable/InRelease,dists/stable/Release.gpg,dists/stable/main/binary-amd64/Packages.gz,dists/stable/main/binary-amd64/Release,dists/stable/main/binary-amd64/Packages
2022-01-05T03:02:16 [E|bac|4a143c87] Repository version errors : Path errors found. Paths are duplicated: dists/bionic/Release,dists/bionic/InRelease,dists/bionic/Release.gpg,dists/bionic/multiverse/binary-amd64/Release,dists/bionic/multiverse/binary-amd64/Packages,dists/bionic/multiverse/binary-amd64/Packages.gz
2022-01-05T03:02:24 [E|bac|4a143c87] Repository version errors : Path errors found. Paths are duplicated: dists/bionic/InRelease,dists/bionic/Release.gpg,dists/bionic/Release,dists/bionic/main/binary-amd64/Packages,dists/bionic/main/binary-amd64/Packages.gz
2022-01-05T03:06:24 [E|bac|4a143c87] Repository version errors : Path errors found. Paths are duplicated: dists/bionic/main/binary-armhf/Packages,dists/bionic/main/binary-armhf/Packages.gz,dists/bionic/main/binary-arm64/Packages,dists/bionic/main/binary-arm64/Packages.gz,dists/bionic/InRelease,dists/bionic/Release,dists/bionic/Release.gpg,dists/bionic/main/binary-armel/Packages,dists/bionic/main/binary-armel/Packages.gz,dists/bionic/main/binary-amd64/Packages,dists/bionic/main/binary-amd64/Packages.gz,dists/bionic/main/binary-s390x/Packages,dists/bionic/main/binary-s390x/Packages.gz,dists/bionic/main/binary-i386/Packages,dists/bionic/main/binary-i386/Packages.gz,dists/bionic/main/binary-ppc64el/Packages,dists/bionic/main/binary-ppc64el/Packages.gz
2022-01-05T03:06:49 [E|bac|4a143c87] Repository version errors : Path errors found. Paths are duplicated: dists/stable/main/binary-i386/Packages,dists/stable/main/binary-i386/Packages.gz,dists/stable/main/binary-i386/Release,dists/stable/main/binary-aarch64/Packages,dists/stable/main/binary-aarch64/Packages.gz,dists/stable/main/binary-aarch64/Release,dists/stable/InRelease,dists/stable/Release,dists/stable/Release.gpg,dists/stable/main/binary-amd64/Packages,dists/stable/main/binary-amd64/Packages.gz,dists/stable/main/binary-amd64/Release,dists/stable/main/binary-arm64/Packages,dists/stable/main/binary-arm64/Packages.gz,dists/stable/main/binary-arm64/Release

Not sure if this is related, but I also encountered the following error before these:

deadlock detected
DETAIL:  Process 531 waits for ShareLock on transaction 24995797; blocked by process 524.
Process 524 waits for ShareLock on transaction 24995798; blocked by process 531.
HINT:  See server log for query details.
CONTEXT:  while updating tuple (7388,19) in relation "core_artifact"
fao89 commented 2 years ago

From: @ggainey (ggainey) Date: 2022-01-11T15:26:33Z


rgp wrote:

Not sure if this is related, but I also encountered the following error before these:

deadlock detected
DETAIL:  Process 531 waits for ShareLock on transaction 24995797; blocked by process 524.
Process 524 waits for ShareLock on transaction 24995798; blocked by process 531.
HINT:  See server log for query details.
CONTEXT:  while updating tuple (7388,19) in relation "core_artifact"

Unrelated, I believe. We have seen (rare/hard-to-reproduce) deadlocks when syncing repos with same/similar content, I'm looking into it. You can see a similar-but-not-quite-the-same one here:

https://bugzilla.redhat.com/show_bug.cgi?id=2021406

dralley commented 2 years ago

@ggainey Should this be considered a duplicate of one of the existing issues, either resolved or the new unresolved one?

ggainey commented 2 years ago

@ggainey Should this be considered a duplicate of one of the existing issues, either resolved or the new unresolved one?

The deadlock is (almost certainly) #2157 . But this issue is for the dup-path, and I don't know if we've done anything that would help that in pulp_deb.

netsandbox commented 2 years ago

We also see this problem with Ubuntu and remote distributions set to "jammy jammy-updates":

pulp [59767db1f86e47b29c34b5d7b4d4d56c]: pulpcore.tasking.pulpcore_worker:INFO: Task 336b1ab4-9faa-4a81-b276-88083696a815 failed (Repository version errors : Path errors found. Paths are duplicated: dists/jammy-updates/main/binary-amd64/Packages,dists/jammy-updates/main/binary-amd64/Packages.gz,dists/jammy-updates/main/binary-amd64/Packages.xz,dists/jammy-updates/main/binary-amd64/Release
)
pulp [59767db1f86e47b29c34b5d7b4d4d56c]: pulpcore.tasking.pulpcore_worker:INFO:   File "/usr/local/lib/python3.8/site-packages/pulpcore/tasking/pulpcore_worker.py", line 452, in _perform_task
    result = func(*args, **kwargs)

  File "/usr/local/lib/python3.8/site-packages/pulp_deb/app/tasks/synchronizing.py", line 170, in synchronize
    DebDeclarativeVersion(first_stage, repository, mirror=mirror).create()

  File "/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/declarative_version.py", line 161, in create
    loop.run_until_complete(pipeline)

  File "/usr/local/lib/python3.8/site-packages/pulpcore/app/models/repository.py", line 1065, in __exit__
    repository.finalize_new_version(self)

  File "/usr/local/lib/python3.8/site-packages/pulp_deb/app/models/repository.py", line 70, in finalize_new_version
    validate_version_paths(new_version)

  File "/usr/local/lib/python3.8/site-packages/pulpcore/plugin/repo_version_utils.py", line 125, in validate_version_paths
    raise ValueError(_("Repository version errors : {err}").format(err=e))