Two streams with matching NSVCA

Problem:

dnf check-update
....
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Module yaml error: Encountered two streams with matching NSVCA ant:1.10:820181213135032:5ea3b708:x86_64 but differing content
Module yaml error: Encountered two streams with matching NSVCA scala:2.10:820181213143541:2b79a98f:x86_64 but differing content
Module yaml error: Encountered two streams with matching NSVCA subversion:1.10:820181215112250:a51370e3:x86_64 but differing content
Module yaml error: Encountered two streams with matching NSVCA ant:1.10:820181213135032:5ea3b708:x86_64 but differing content
Module yaml error: Encountered two streams with matching NSVCA scala:2.10:820181213143541:2b79a98f:x86_64 but differing content
Module yaml error: Encountered two streams with matching NSVCA subversion:1.10:820181215112250:a51370e3:x86_64 but differing content
...

Expected outcome:
no errors when dnf builts up the cache

Foreman and Proxy versions:
foreman-3.6.1-1.el8.noarch
katello-4.8.4-1.el8.noarch

Foreman and Proxy plugin versions:

Distribution and version:
RHEL8

Other relevant data:
Can anyone help and guide me to fix this issue to get rid of this error. Apart of the annyoing error message no other impact could be observed. So patching the systems is still possible and the clients recieve updates via the rhel-8-for-x86_64-appstream-rpms Repo.

Hi @leziri ,

Have you synced both RHEL 8 AppStream and Oracle Linux 8 AppStream? If so, this is a known issue with Pulp ā€“ when EL modularity made a change some time ago to allow for static modular context, the RHEL and OL 8 repositories began clashing.

Hi, thank you for your respond!

Actually I have no Oracle Linux Repos managed by Foreman at all so this cant be related to the known issue with pulp. Is there anything else I can do or are there any scripts or cleanup jobs for the DB I can give a try?

Hi @leziri ,

It looks like there are duplicate module stream definitions in your repositoryā€™s modules.yaml.

How is this repository set up in Katello? Is it a repository using ā€œcomplete mirroringā€? Is it in a content view? If it is in a content view, are you using filters?

Hi,

Its using ā€œimmediateā€ additive settings and the repo is added at 2 Content-Views which both are not using any filters.

Thanks for the info.

Looks like the duplicates may be added there by Pulp rather than the upstream repository since youā€™re not using ā€˜complete mirroringā€™.

Hereā€™s a command to check on the duplicates to see what repositories they are in (using foreman-rake console):

::Katello::ModuleStream.where(name: 'ant', stream: '1.10', version: '820181213135032', context: '5ea3b708', arch: "x86_64").map { |stream| { stream_id: stream.id, repositories: stream.repositories.map { |r| { id: r.id, name: r.name } } } }

Should return an array with information about the duplicates if they exist in the Katello database.

Also, would it be possible to see a copy of the modules.yaml metadata that is hosted by your Katello instance? If you cannot share, consider checking the metadata yourself to verify that there are duplicate module streams in there.

In the meantime, @dralley, what might cause Pulp-generated repodata to have duplicate module streams?

Additive is being used here ā€“ could it be that the old module streams were kept around due to the additive policy instead of being overwritten?

Hi,

here is the output of foreman-rake console:

irb(main):001:0> ::Katello::ModuleStream.where(name: 'ant', stream: '1.10', version: '820181213135032', context: '5ea3b708', arch: "x86_64").map { |stream| { stream_id: stream.id, repositories: stream.repositories.map { |r| { id: r.id, name: r.name } } } }
=> [{:stream_id=>430, :repositories=>[{:id=>1, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>749, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>283, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>687, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>287, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>439, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>470, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>375, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>534, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>860, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>592, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>635, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>665, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>565, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}, {:id=>732, :name=>"Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8"}]}]

The rpms are provided by only the Appstream Repo RHEL8.

In the modules.yaml duplicate entries were made once with the stream value with quotation marks and once without for the same package ant,subversion and scala.
Here a snippet:

---
document: modulemd
version: 2
data:
  name: ant
  stream: 1.10
  version: 820181213135032
  context: 5ea3b708
  arch: x86_64
  summary: Java build tool
  description: >-
    Apache Ant is a Java library and command-line tool whose mission is to drive processes
    described in build files as targets and extension points dependent upon each other.
    The main known usage of Ant is the build of Java applications. Ant supplies a
    number of built-in tasks allowing to compile, assemble, test and run Java applications.
    Ant can also be used effectively to build non Java applications, for instance
    C or C++ applications. More generally, Ant can be used to pilot any type of process
    which can be described in terms of targets and tasks.
  license:
    module:
    - MIT
    content:
    - ASL 2.0
  xmd:
    mbs:
      mse: TRUE
      scmurl: git://pkgs.devel.redhat.com/modules/ant?#b714d3c51217e45d0cc8b7a2756be6cca5b58f90
      commit: b714d3c51217e45d0cc8b7a2756be6cca5b58f90
      buildrequires:
        javapackages-tools:
          filtered_rpms: []
          ref: b8556cc718a858e88d7efa3ff125508ba7bdd878
          stream: 201801
          context: dca7b4a4
          version: 820181211123648
          koji_tag: module-javapackages-tools-201801-820181211123648-dca7b4a4
        platform:
          stream_collision_modules:
          stream: el8
          ref: virtual
          filtered_rpms: []
          ursine_rpms:
          koji_tag: module-rhel-8.0.0-build
          version: 2
          context: 00000000
      rpms:
        ant:
          ref: 3d2d13b14b4b4cccd2c34d8d584643417f4939d3
  dependencies:
  - buildrequires:
      javapackages-tools: [201801]
      platform: [el8]
    requires:
      platform: []
  references:
    community: https://ant.apache.org/
  profiles:
    common:
      rpms:
      - ant
  api:
    rpms:
    - ant
  filter:
    rpms:
    - ant-antlr
    - ant-apache-bcel
    - ant-apache-bsf
    - ant-apache-log4j
    - ant-apache-oro
    - ant-apache-regexp
    - ant-apache-resolver
    - ant-apache-xalan2
    - ant-commons-logging
    - ant-commons-net
    - ant-javadoc
    - ant-javamail
    - ant-jdepend
    - ant-jmf
    - ant-jsch
    - ant-junit
    - ant-manual
    - ant-swing
    - ant-testutil
    - ant-xz
  buildopts:
    rpms:
      macros: |
        %_with_xmvn_javadoc 1
        %_without_asciidoc 1
        %_without_avalon 1
        %_without_bouncycastle 1
        %_without_cython 1
        %_without_dafsa 1
        %_without_desktop 1
        %_without_doxygen 1
        %_without_dtd 1
        %_without_eclipse 1
        %_without_ehcache 1
        %_without_emacs 1
        %_without_equinox 1
        %_without_fop 1
        %_without_ftp 1
        %_without_gradle 1
        %_without_groovy 1
        %_without_hadoop 1
        %_without_hsqldb 1
        %_without_itext 1
        %_without_jackson 1
        %_without_jmh 1
        %_without_jna 1
        %_without_jpa 1
        %_without_junit5 1
        %_without_logback 1
        %_without_markdown 1
        %_without_memcached 1
        %_without_memoryfilesystem 1
        %_without_obr 1
        %_without_python 1
        %_without_reporting 1
        %_without_scm 1
        %_without_snappy 1
        %_without_spring 1
        %_without_ssh 1
        %_without_testlib 1
  components:
    rpms:
      ant:
        rationale: 'Module API.

'
        repository: git://pkgs.devel.redhat.com/rpms/ant
        cache: http://pkgs.devel.redhat.com/repo/pkgs/ant
        ref: stream-ant-1.10
        buildorder: 10
        arches: [aarch64, i686, ppc64le, s390x, x86_64]
  artifacts:
    rpms:
    - ant-0:1.10.5-1.module+el8+2438+c99a8a1e.noarch
    - ant-lib-0:1.10.5-1.module+el8+2438+c99a8a1e.noarch
...
---
document: modulemd
version: 2
data:
  name: ant
  stream: "1.10"
  version: 820181213135032
  context: 5ea3b708
  arch: x86_64
  summary: Java build tool
  description: >-
    Apache Ant is a Java library and command-line tool whose mission is to drive processes
    described in build files as targets and extension points dependent upon each other.
    The main known usage of Ant is the build of Java applications. Ant supplies a
    number of built-in tasks allowing to compile, assemble, test and run Java applications.
    Ant can also be used effectively to build non Java applications, for instance
    C or C++ applications. More generally, Ant can be used to pilot any type of process
    which can be described in terms of targets and tasks.
  license:
    module:
    - MIT
    content:
    - ASL 2.0
  xmd:
    mbs:
      buildrequires:
        javapackages-tools:
          context: dca7b4a4
          filtered_rpms: []
          koji_tag: module-javapackages-tools-201801-820181211123648-dca7b4a4
          ref: b8556cc718a858e88d7efa3ff125508ba7bdd878
          stream: 201801
          version: 820181211123648
        platform:
          context: 00000000
          filtered_rpms: []
          koji_tag: module-rhel-8.0.0-build
          ref: virtual
          stream: el8
          stream_collision_modules:
          ursine_rpms:
          version: 2
      commit: b714d3c51217e45d0cc8b7a2756be6cca5b58f90
      mse: TRUE
      rpms:
        ant:
          ref: 3d2d13b14b4b4cccd2c34d8d584643417f4939d3
      scmurl: git://pkgs.devel.redhat.com/modules/ant?#b714d3c51217e45d0cc8b7a2756be6cca5b58f90
  dependencies:
  - buildrequires:
      javapackages-tools: [201801]
      platform: [el8]
    requires:
      platform: []
  references:
    community: https://ant.apache.org/
  profiles:
    common:
      rpms:
      - ant
  api:
    rpms:
    - ant
  filter:
    rpms:
    - ant-antlr
    - ant-apache-bcel
    - ant-apache-bsf
    - ant-apache-log4j
    - ant-apache-oro
    - ant-apache-regexp
    - ant-apache-resolver
    - ant-apache-xalan2
    - ant-commons-logging
    - ant-commons-net
    - ant-javadoc
    - ant-javamail
    - ant-jdepend
    - ant-jmf
    - ant-jsch
    - ant-junit
    - ant-manual
    - ant-swing
    - ant-testutil
    - ant-xz
  buildopts:
    rpms:
      macros: >
        %_with_xmvn_javadoc 1

        %_without_asciidoc 1

        %_without_avalon 1

        %_without_bouncycastle 1

        %_without_cython 1

        %_without_dafsa 1

        %_without_desktop 1

        %_without_doxygen 1

        %_without_dtd 1

        %_without_eclipse 1

        %_without_ehcache 1

        %_without_emacs 1

        %_without_equinox 1

        %_without_fop 1

        %_without_ftp 1

        %_without_gradle 1

        %_without_groovy 1

        %_without_hadoop 1

        %_without_hsqldb 1

        %_without_itext 1

        %_without_jackson 1

        %_without_jmh 1

        %_without_jna 1

        %_without_jpa 1

        %_without_junit5 1

        %_without_logback 1

        %_without_markdown 1

        %_without_memcached 1

        %_without_memoryfilesystem 1

        %_without_obr 1

        %_without_python 1

        %_without_reporting 1

        %_without_scm 1

        %_without_snappy 1

        %_without_spring 1

        %_without_ssh 1

        %_without_testlib 1
  components:
    rpms:
      ant:
        rationale: 'Module API.

'
        repository: git://pkgs.devel.redhat.com/rpms/ant
        cache: http://pkgs.devel.redhat.com/repo/pkgs/ant
        ref: stream-ant-1.10
        buildorder: 10
        arches: [aarch64, i686, ppc64le, s390x, x86_64]
  artifacts:
    rpms:
    - ant-0:1.10.5-1.module+el8+2438+c99a8a1e.noarch
    - ant-lib-0:1.10.5-1.module+el8+2438+c99a8a1e.noarch
...

---

What would be the procedure to get rid of these duplicates?

Thank you for guiding :slight_smile:

Hi @leziri ,

Weā€™re probably going to need some help from Pulp devs to find out whatā€™s going on. Iā€™ll ask about this.

In the meantime, you might want to try republishing the metadata for your repositories in question.

Since youā€™re using a content view, you can do:

hammer content-view version republish-repositories --id <content view version ID> --force true

You can find the content view version ID by mousing over the content view version link in the UI and looking at the ID in the URL. You can also use hammer to find it with hammer content-view info ...

Also, could you please show the output of:

rpm -qa | grep "python" | grep "pulp"

Just spitballing, the difference (ok there are several differences, but the most suspicious one) between those two snippets is that one of them writes version as 1.10, and the other one writes the version as ā€œ1.10ā€

I suspect that perhaps the latter being seen as ā€œdifferentā€ because itā€™s enclosed in quotes is the cause.

@leziri , mind if we get a closer look at the data in Pulp too?

$ sudo -i -u postgres
$ psql
\x
\c pulpcore
select * from rpm_modulemd where name='ant' and stream='1.10' and version='820181213135032' and context='5ea3b708' and arch='x86_64';

Hi,

of course here the infos:

root@foreman [**] ~ # rpm -qa | grep "python" | grep "pulp"
python39-pulp-certguard-1.5.6-1.el8.noarch
python39-pulp-file-1.12.0-1.el8.noarch
rubygem-pulp_python_client-3.8.0-1.el8.noarch
python39-pulp-cli-0.14.0-4.el8.noarch
python39-pulp-container-2.14.7-1.el8.noarch
python39-pulp-python-3.8.0-1.el8.noarch
python39-pulp-ansible-0.16.0-1.el8.noarch
python39-pulp-deb-2.20.4-1.el8.noarch
python39-pulp-rpm-3.19.9-1.el8.noarch
python39-pulpcore-3.22.15-1.el8.noarch

pulpcore=# select * from rpm_modulemd where name='ant' and stream='1.10' and version='820181213135032' and context='5ea3b708' and arch='x86_64';
-[ RECORD 1 ]--+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
content_ptr_id | df00e8cc-8c52-4af2-b603-4ad4a0f2df0c
name           | ant
stream         | 1.10
version        | 820181213135032
context        | 5ea3b708
arch           | x86_64
dependencies   | [{"requires": {"platform": []}, "buildrequires": {"platform": ["el8"], "javapackages-tools": [201801]}}]
artifacts      | ["ant-0:1.10.5-1.module+el8+2438+c99a8a1e.noarch", "ant-lib-0:1.10.5-1.module+el8+2438+c99a8a1e.noarch"]
static_context | f
snippet        | ---                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +
               | document: modulemd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
               | version: 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
               | data:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +
               |   name: ant                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |   stream: "1.10"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
               |   version: 820181213135032                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
               |   context: 5ea3b708                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +
               |   arch: x86_64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
               |   summary: Java build tool                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
               |   description: >-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +
               |     Apache Ant is a Java library and command-line tool whose mission is to drive processes                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
               |     described in build files as targets and extension points dependent upon each other.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +
               |     The main known usage of Ant is the build of Java applications. Ant supplies a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +
               |     number of built-in tasks allowing to compile, assemble, test and run Java applications.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |     Ant can also be used effectively to build non Java applications, for instance                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +
               |     C or C++ applications. More generally, Ant can be used to pilot any type of process                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +
               |     which can be described in terms of targets and tasks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +
               |   license:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
               |     module:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |     - MIT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +
               |     content:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
               |     - ASL 2.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +
               |   xmd:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
               |     mbs:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
               |       buildrequires:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
               |         javapackages-tools:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |           context: dca7b4a4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |           filtered_rpms: []                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |           koji_tag: module-javapackages-tools-201801-820181211123648-dca7b4a4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +
               |           ref: b8556cc718a858e88d7efa3ff125508ba7bdd878                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +
               |           stream: 201801                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
               |           version: 820181211123648                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
               |         platform:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +
               |           context: 00000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |           filtered_rpms: []                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |           koji_tag: module-rhel-8.0.0-build                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |           ref: virtual                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
               |           stream: el8                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +
               |           stream_collision_modules:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +
               |           ursine_rpms:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
               |           version: 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
               |       commit: b714d3c51217e45d0cc8b7a2756be6cca5b58f90                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
               |       mse: TRUE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +
               |       rpms:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +
               |         ant:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
               |           ref: 3d2d13b14b4b4cccd2c34d8d584643417f4939d3                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +
               |       scmurl: git://pkgs.devel.redhat.com/modules/ant?#b714d3c51217e45d0cc8b7a2756be6cca5b58f90                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +
               |   dependencies:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +
               |   - buildrequires:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
               |       javapackages-tools: [201801]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
               |       platform: [el8]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +
               |     requires:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +
               |       platform: []                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
.....

pulpcore=#

The same obviously happened with the other 2 modules scala and subversion

scala_output.log (124.0 KB)

The metadata of the repo has been republished as directed and a CCV inheriting the corresponding CV republished and promoted. Finally the repodata on a host using this CCV has been cleaned up to build up the repodata again. However the problem persists.

sry forgot to point to the fact that the stream value is cut off at the second DB-Record.

Dont know why this post has been dropped but here another psql-query for ant without filter stream:
pulpcore=# select * from rpm_modulemd where name='ant' and version='820181213135032' and context='5ea3b708' and arch='x86_64';
ant_output.log (180.4 KB)

@leziri I think you confirmed our suspicion about the quoted stream values. It seems there was a yaml change from a string to an integer for the stream value:

-[ RECORD 1 ]--+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
content_ptr_id | 0cdb36bc-fc83-4557-8f5d-cbb482e7ec23
name           | scala
stream         | 2.1
version        | 820181213143541
context        | 2b79a98f
arch           | x86_64
dependencies   | [{"requires": {"platform": []}, "buildrequires": {"scala": [2.1], "platform": ["el8"], "javapackages-tools": [201801]}}]
artifacts      | ["hawtjni-runtime-0:1.16-1.module+el8+2477+516cbbff.noarch", "jansi-0:1.17.1-1.module+el8+2477+516cbbff.noarch", "jansi-native-0:1.7-5.module+el8+2477+516cbbff.x86_64", "jline-0:2.14.6-2.module+el8+2477+516cbbff.noarch", "scala-0:2.10.6-14.module+el8+2477+516cbbff.noarch", "scala-apidoc-0:2.10.6-14.module+el8+2477+516cbbff.noarch", "scala-swing-0:2.10.6-14.module+el8+2477+516cbbff.noarch"]
static_context |
snippet        | ---                                                                                                                                                                                                                                                                                                                                                                                                     +
               | document: modulemd                                                                                                                                                                                                                                                                                                                                                                                      +
               | version: 2                                                                                                                                                                                                                                                                                                                                                                                              +
               | data:                                                                                                                                                                                                                                                                                                                                                                                                   +
               |   name: scala                                                                                                                                                                                                                                                                                                                                                                                           +
               |   stream: 2.10                                                                                                                                                                                                                                                           

versus

-[ RECORD 2 ]--+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
content_ptr_id | 9ff2d9c8-ee0e-4016-9fdf-346a3091316f
name           | scala
stream         | 2.10
version        | 820181213143541
context        | 2b79a98f
arch           | x86_64
dependencies   | [{"requires": {"platform": []}, "buildrequires": {"scala": [2.1], "platform": ["el8"], "javapackages-tools": [201801]}}]
artifacts      | ["hawtjni-runtime-0:1.16-1.module+el8+2477+516cbbff.noarch", "jansi-0:1.17.1-1.module+el8+2477+516cbbff.noarch", "jansi-native-0:1.7-5.module+el8+2477+516cbbff.x86_64", "jline-0:2.14.6-2.module+el8+2477+516cbbff.noarch", "scala-0:2.10.6-14.module+el8+2477+516cbbff.noarch", "scala-apidoc-0:2.10.6-14.module+el8+2477+516cbbff.noarch", "scala-swing-0:2.10.6-14.module+el8+2477+516cbbff.noarch"]
static_context | f
snippet        | ---                                                                                                                                                                                                                                                                                                                                                                                                     +
               | document: modulemd                                                                                                                                                                                                                                                                                                                                                                                      +
               | version: 2                                                                                                                                                                                                                                                                                                                                                                                              +
               | data:                                                                                                                                                                                                                                                                                                                                                                                                   +
               |   name: scala                                                                                                                                                                                                                                                                                                                                                                                           +
               |   stream: "2.10"                                     

The only difference is the ā€œstreamā€ in the snippet.


To fix this, I see two options.

First, the workaround without database tinkering would be to change your repository mirroring policy to be ā€œmirror completeā€. For RHEL repositories you shouldnā€™t need to use additive ā€“ the Red Hat CDN keeps all versions of old RPMs around.

This would require republishing your content views though.

The second option would be to try deleting these duplicate entries out of the database. This may end up being unsafe, though. Itā€™s also unclear if the quoted or unquoted stream is the correct one, so I suppose we could just pick the latest version.
@dralley would it be safe to delete the duplicate rpm_modulemd entries? Or are there too many related associations?

Either way you have to republish content views, the duplicate module is in the repo and it has to be removed one way or another.

The safest way to deal with this is to use ā€œmirror_completeā€ and let orphan cleanup handle it eventually.

1 Like

Thank you so much for support! Using mirror policy: ā€œmirror completeā€ and republishing CVs solved the issue.

1 Like

I wonder this is caused by 2149138 ā€“ Getting "Artifact matching query does not exist." error when importing contents to the disconnected Satellite. (See comment 2 to comment 4)

1 Like