Troubleshooting Debian Metadata problems

How Debian Repository metadata calculation works?

AuthorFullName__c
Ariel Kabov
articleNumber
000004522
ft:sourceType
Salesforce
FirstPublishedDate
2019-08-11T07:22:32Z
lastModifiedDate
2024-03-10T07:47:59Z
VersionNumber
8
Disclaimer: Changing log levels from their original value may result in performance degradation. Handle with care when applying to production systems.

To troubleshoot possible problems with the Debian Metadata calculation, we can add these loggers to $ARTIFACTORY_HOME/etc/logback.xml.
When applied, a "debian.log" file will appear in the $ARTIFACTORY_HOME/logs/ folder. A restart is not required for these changes to effect.

Most of Debian related operations:

For Artifactory version 6.X:
<appender name="debian" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <File>${artifactory.home}/logs/debian.log</File>
      <encoder>
         <pattern>%date ${artifactory.contextId}[%thread] [%-5p] \(%-20c{3}:%L\) - %m%n</pattern>
      </encoder>
      <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
         <FileNamePattern>${artifactory.home}/logs/debian.%i.log</FileNamePattern>
         <maxIndex>13</maxIndex>
      </rollingPolicy>
      <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
         <MaxFileSize>25MB</MaxFileSize>
      </triggeringPolicy>
</appender>

<logger name="org.jfrog.repomd.debian" additivity="false">
<level value="trace"/>
<appender-ref ref="debian"/>
</logger>
<logger name="org.artifactory.addon.debian" additivity="false">
<level value="trace"/>
<appender-ref ref="debian"/>
</logger>
<logger name="org.jfrog.repomd.dpkg" additivity="false">
<level value="debug"/>
<appender-ref ref="debian"/>
</logger>

For Artifactory version 7.X:
<appender name="debian" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <File>${log.dir}/artifactory-debian.log</File>
  <rollingPolicy class="org.jfrog.common.logging.logback.rolling.FixedWindowWithDateRollingPolicy">
    <FileNamePattern>${log.dir.archived}/artifactory-debian.%i.log.gz</FileNamePattern>
    <maxIndex>10</maxIndex>
  </rollingPolicy>
  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
    <MaxFileSize>25MB</MaxFileSize>
  </triggeringPolicy>
  <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
    <layout class="org.jfrog.common.logging.logback.layout.BackTracePatternLayout">
      <pattern>%date{yyyy-MM-dd'T'HH:mm:ss.SSS, UTC}Z [jfrt ] [%-5p] [%-16X{uber-trace-id}] [%-30.30(%c{3}:%L)] [%-20.20thread] - %m%n</pattern>
    </layout>
  </encoder>
</appender>
<logger name="org.jfrog.repomd.debian" additivity="false">
  <level value="debug"/>
  <appender-ref ref="debian"/>
</logger>
<logger name="org.artifactory.addon.debian" additivity="false">
  <level value="debug"/>
  <appender-ref ref="debian"/>
</logger>
<logger name="org.artifactory.addon.dpkgcommon" additivity="false">
  <level value="debug"/>
  <appender-ref ref="debian"/>
</logger>

Mover service (responsible to copy/move operations, being called during calculation finalization. This is a cross-Artifactory logger and not only Debian related):
<logger name="org.artifactory.repo.service.mover" additivity="false">
<level value="trace" />
<appender-ref ref="debian"/>
</logger>

Work queue (The core of the work queue used by Debian metadata calculations. This is a cross-Artifactory very verbose logger):
<logger name="org.artifactory.work.queue" additivity="false">
<level value="trace"/>
<appender-ref ref="debian"/>
</logger>

Information about read from local cache (This logger will help in troubleshooting issues with calculations of the entire repository):
<logger name="org.artifactory.addon.dpkgcommon" additivity="false">
<level value="trace"/>
<appender-ref ref="debian"/>
</logger>
<logger name="org.jfrog.repomd.dpkg.extractor.DpkgMetadataExtractor" additivity="false">
<level value="trace"/>
<appender-ref ref="debian"/>
</logger>