Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-7410

Yum metadata auto-calculation with event-based replication causes errors due to temp metadata files

    Details

    • Type: Bug
    • Status: Open
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: 4.7.1
    • Fix Version/s: None
    • Component/s: High Availability, Metadata, YUM
    • Labels:
      None

      Description

      In HA configuration, the Yum calculation may run into race condition and concurrency bad behavior.
      Here is a log extract that can explain:

      2015-04-24 11:08:51,600 [pool-3-thread-2573] [INFO ] (o.a.a.r.c.l.r.LocalReplicationDeployRunnable:201) - Deploying properties: yum-local:one/two/repodata/_tmp_593847088854183061026624
      2015-04-24 11:08:51,622 [http-bio-6090-exec-8004] [INFO ] (o.a.e.UploadServiceImpl:267) - MKDir request to 'yum-local:me/zootest/repodata/_tmp_593847105440316022272884/repodata'
      2015-04-24 11:08:51,628 [http-bio-6090-exec-8004] [INFO ] (o.a.e.UploadServiceImpl:273) - Directory 'yum-local:me/zootest/repodata/_tmp_593847105440316022272884/repodata' was created successfully.
      2015-04-24 11:08:51,759 [pool-3-thread-2573] [ERROR] (o.a.a.r.c.l.r.LocalReplicationDeployRunnable:154) - Unable to find artifact 'yum-local:me/zootest/repodata/_tmp_593847105440316022272884/repodata/primary.xml.gz' to deploy.
      2015-04-24 11:08:51,760 [pool-3-thread-2573] [ERROR] (o.a.a.r.c.l.r.LocalReplicationDeployRunnable:154) - Unable to find artifact 'yum-local:me/zootest/repodata/_tmp_593847105440316022272884/repodata/filelists.xml.gz' to deploy.
      2015-04-24 11:08:51,761 [pool-3-thread-2573] [ERROR] (o.a.a.r.c.l.r.LocalReplicationDeployRunnable:154) - Unable to find artifact 'yum-local:me/zootest/repodata/_tmp_593847105440316022272884/repodata/other.xml.gz' to deploy.
      2015-04-24 11:08:51,762 [pool-3-thread-2573] [ERROR] (o.a.a.r.c.l.r.LocalReplicationDeployRunnable:154) - Unable to find artifact 'yum-local:me/zootest/repodata/_tmp_593847105440316022272884/repodata/repomd.xml' to deploy.
      

      Reproduce steps:

      • Create a local on Artifactory instance A that is Yum folder depth 0.
      • Create a similar repo on Artifactory B
      • Set up event based replication from repo a to repo b
      • Use curl to upload a .RPM to the root of repo a
      • Observe logs on instance A

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                aaronr Aaron Rhodes
              • Votes:
                1 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: