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

Unable to resolve debian packages from smart remote repository



    • Type: Bug
    • Status: Done
    • Resolution: Not a Bug
    • Affects Version/s: 6.19.1
    • Fix Version/s: 7.12.3, 6.23.7
    • Component/s: None
    • Labels:
    • Severity:
    • Release Notes:


      Problem Description:

       For Debian remote repository [(smart repository|https://www.jfrog.com/confluence/display/JFROG/Smart+Remote+Repositories]), when we enable event-based pull replication in an Artifactory instance B that is pointing to the debian local repository of Artifactory instance A and when we deploy a debian package (any package) to the local repository of instance A and trying to get that package from instance B (smart-repo) by pointing to the smart remote repository from a Debian server then we are not able to get the package and seeing 404 response. 

      Expected behavior:

       Whenever we deploy a package to the local repository of Artifactory instance A as we have enabled event-based pull replication on Artifactory instance B then the Debian package should be resolved immediately from Artifactory instance B when the user pointing to the smart remote repository. 

      Things required to reproduce the behavior:-

      2 - Artifactory instances (consider it as A and B)

      In A artifactory instance, configure a "Debian-local-A" repository

      In B artifactory instance, configure a virtual repository "debian" that contains a local repository "debian-local-B" and a smart remote repository "debian-remote-smart-B" pointing to Artifactory instance "A" local repository "". Click on the checkbox "Enable Active Replication of This Repository" for smart repository "debian-remote-smart-B" and also click on the "Enable Event Replication"

      Steps to reproduce:-

      1. Upload a Debian package to Artifactory A instance "debian-local-A" repository.
      2. Now from a Debian server after adding "debian" virtual repository of instance B in source.list, use apt install <package_name>  command to install the package that was uploaded to Artifactory A instance (as from Artifactory instance B, we have configured smart remote repository pointing to instance A "debian-local-A" repository, we should get that package). But we are seeing "404 Not Found".

      Possible Workaround:

      If we perform a zap cache on the virtual repository or if we deploy another package to the "debian-local-B" repository  of Artifactory instance B then it is triggering the index and then we can able to download the package that was deployed to instance A of "debian-local-A" repository.

      2020-07-17 20:42:32,386 [http-nio-8081-exec-10] [DEBUG] (o.a.a.d.i.DebianVirtualInterceptor:53) - Debian virtual repo debian cache for path dists/bionic/Release stale or does not exist.

      2020-07-17 20:42:32,387 [http-nio-8081-exec-10] [INFO ] (o.a.a.d.i.DebianVirtualInterceptor:81) - Triggering synchronous virtual debian index calculation for path dists/bionic/Release in repo debian

      2020-07-17 20:42:32,388 [http-nio-8081-exec-10] [DEBUG] (o.a.a.d.DebianAddonImpl:120) - Starting to calculate Debian indices metadata for repo:'debian', distribution:'bionic', component:''

      2020-07-17 20:42:32,388 [http-nio-8081-exec-10] [DEBUG] (o.a.a.d.DebianServiceImpl:199) - workItem key:debian/bionic, Associated virtual repos in depth one:[debian]


      After adding the debian loggers, seeing below errors:

      2020-07-17 20:39:13,320 [art-exec-3010] [ERROR] (o.a.a.d.DebianServiceImpl:623) - Failed to calculate Debian metadata for repo debian-smart-east-cache: null

      java.lang.NullPointerException: null

      at org.artifactory.addon.debian.DebianServiceImpl.executeEvents(DebianServiceImpl.java:639)

      at org.artifactory.addon.debian.DebianServiceImpl.generateIndexes(DebianServiceImpl.java:619)

      at org.artifactory.addon.debian.DebianServiceImpl.calculateMetadataInternal(DebianServiceImpl.java:379)

      at org.artifactory.addon.debian.DebianServiceImpl.calculateDebianMetadataInternalAsync(DebianServiceImpl.java:302)

      at sun.reflect.GeneratedMethodAccessor452.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.artifactory.work.queue.WorkQueueImpl.invoke(WorkQueueImpl.java:123)

      at org.artifactory.work.queue.WorkQueueImpl.doJobs(WorkQueueImpl.java:96)

      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

      at java.util.concurrent.FutureTask.run(FutureTask.java:266)

      at org.artifactory.concurrent.ArtifactoryRunnable.run(ArtifactoryRunnable.java:50)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

      at java.lang.Thread.run(Thread.java:748)

      2020-07-17 20:39:13,320 [art-exec-3010] [INFO ] (o.a.a.d.DebianServiceImpl:380) - Finished calculation of Debian metadata for distribution 'bionic' in repo 'debian-smart-east-cache'. took 1 ms





              morm Mor Merhav
              santhoshp Santhosh Pesari
              0 Vote for this issue
              4 Start watching this issue



                  Sync Status

                  Connection: RTFACT Sync
                  RTMID-22893 -
                  • Last Sync Date: