Details
Description
A customer noticed some rpms in a yum hosted repo using 3.25.1 were not showing up in the primary.xml file.
Even after running a full Repair - Rebuild Yum repository metadata (repodata) task against the hosted repo, the rpm still didn't show up.
What was noticed in the task specific log is this type of WARN message that occurs during the full rebuild.
2020-08-11 15:55:21,136+0000 WARN [Thread-2588 <command>sql.select from asset where (component IS NOT NULL AND attributes.yum.asset_kind = :p0) and (bucket=\#9:49)</command>|#9:49)</command>] *SYSTEM org.sonatype.nexus.repository.storage.OrientAsyncHelper$QueueFeedingResultListener - Timed out adding query result to queue 685b613b after 60 seconds, aborting query
This message means that it is taking a long time to read the result of the above query, not make the actual query against the database.
It was noticed that certain rpm files take longer to merge into the yum metadata than other rpm files. These particular rpm files is what appears to be causing the reading of all the rpm data to take longer than the default of 60 seconds. A symptom could look like the following when log levels are DEBUG for logger org.sonatype.nexus.repository.yum.internal.createrepo.CreateRepoServiceImpl :
Example - notice after 60 seconds the reading of the query fails:
2020-08-11 15:54:21,135+0000 DEBUG [event-13-thread-3134] *SYSTEM org.sonatype.nexus.repository.yum.internal.createrepo.CreateRepoServiceImpl - Adding RPM Packages/example-A7-base-1.0.1-1.x86_64.rpm to metadata for repository rpm-hosted and directory
2020-08-11 15:55:21,136+0000 WARN [Thread-2588 <command>sql.select from asset where (component IS NOT NULL AND attributes.yum.asset_kind = :p0) and (bucket=#9:49)</command>|#9:49)</command>] *SYSTEM org.sonatype.nexus.repository.storage.OrientAsyncHelper$QueueFeedingResultListener - Timed out adding query result to queue 685b613b after 60 seconds, aborting query
After the new properties are set to increase the timeout from 60 seconds to 180 seconds reading the failed query, one can notice the total time needed to add a certain rpm was at least 80 seconds, thus the problem is avoided:
2020-08-14 21:34:21,465+0000 DEBUG [event-13-thread-6] *SYSTEM org.sonatype.nexus.repository.yum.internal.createrepo.CreateRepoServiceImpl - Adding RPM Packages/example-A7-base-1.0.2-1.x86_64.rpm to metadata for repository rpm-hosted and directory
2020-08-14 21:35:41,618+0000 DEBUG [event-13-thread-6] *SYSTEM org.sonatype.nexus.repository.yum.internal.createrepo.CreateRepoServiceImpl - Adding RPM Packages/example-PM-1.0.51-1.x86_64.rpm to metadata for repository rpm-hosted and directory
Expected
Provide a configurable workaround to increase the query time and buffer size indicated by the WARN message, allowing adding all the RPM metadata to complete.
Attachments
Issue Links
- relates
-
NEXUS-29460 Rebuilding yum metadata generates the -filelists.xml.gz with less RPM files
-
- New
-
-
NEXUS-25159 Missing rpm in yum index
-
- Closed
-