Conan package registry always triggers update
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Summary
When using GitLab package registry as Conan server, every conan install --update
triggers a full download of the package.
Steps to reproduce
Run conan install --update <ref>
multiple times with Conan tracing enabled.
What is the current bug behavior?
The trace log shows a download action for every package file, even if the file is available in the cache.
What is the expected correct behavior?
The trace log should show a download action only for the conanmanifest.txt
.
Relevant logs and/or screenshots
Output when using GitLab package registry:
{"_action": "COMMAND", "name": "install_reference", "parameters": {"build": null, "conf": null, "env": null, "generators": null, "install_folder": null, "is_build_require": false, "lockfile": null, "lockfile_node_id": null, "lockfile_out": null, "manifests": null, "manifests_interactive": null, "options": null, "profile_build": [null, null, null, null, null], "profile_names": null, "remote_name": "gitlab", "require_overrides": null, "settings": null, "update": true, "verify": null}, "time": 1656417109.7206426}
{"_action": "REST_API_CALL", "duration": 0.9281342029571533, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "username"}, "method": "GET", "time": 1656417110.6976411, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/ping"}
{"_action": "REST_API_CALL", "duration": 0.27826714515686035, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "username"}, "method": "GET", "time": 1656417110.9759083, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/conans/iomp/2021.3/projectname/stable/digest"}
{"_action": "REST_API_CALL", "duration": 0.20711779594421387, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417111.183026, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/export/conanmanifest.txt"}
{"_action": "DOWNLOAD", "duration": 0.20711779594421387, "time": 1656417111.183026, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/export/conanmanifest.txt"}
{"_action": "REST_API_CALL", "duration": 0.23169255256652832, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417111.4147186, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/export/conanfile.py"}
{"_action": "DOWNLOAD", "duration": 0.23169255256652832, "time": 1656417111.4147186, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/export/conanfile.py"}
{"_action": "REST_API_CALL", "duration": 0.22616124153137207, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417111.6408799, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/export/conan_export.tgz"}
{"_action": "DOWNLOAD", "duration": 0.22616124153137207, "time": 1656417111.6408799, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/export/conan_export.tgz"}
{"_action": "GOT_RECIPE_FROM_LOCAL_CACHE", "_id": "iomp/2021.3@projectname/stable", "time": 1656417111.6408799}
{"_action": "REST_API_CALL", "duration": 0.2231309413909912, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "username"}, "method": "GET", "time": 1656417111.8788226, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/conans/product-package-helper/0.1/projectname/stable/digest"}
{"_action": "REST_API_CALL", "duration": 0.21570944786071777, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417112.1000416, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/product-package-helper/0.1/projectname/stable/0/export/conanmanifest.txt"}
{"_action": "DOWNLOAD", "duration": 0.21570944786071777, "time": 1656417112.1000416, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/product-package-helper/0.1/projectname/stable/0/export/conanmanifest.txt"}
{"_action": "REST_API_CALL", "duration": 0.21628594398498535, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417112.3163276, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/product-package-helper/0.1/projectname/stable/0/export/conanfile.py"}
{"_action": "DOWNLOAD", "duration": 0.23187518119812012, "time": 1656417112.3319168, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/product-package-helper/0.1/projectname/stable/0/export/conanfile.py"}
{"_action": "GOT_RECIPE_FROM_LOCAL_CACHE", "_id": "product-package-helper/0.1@projectname/stable", "time": 1656417112.3319168}
{"_action": "REST_API_CALL", "duration": 0.21626710891723633, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "username"}, "method": "GET", "time": 1656417112.5638413, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/conans/iomp/2021.3/projectname/stable/packages/dfaf1845df660aaddf542c7f4194ee25a424d55a/digest"}
{"_action": "REST_API_CALL", "duration": 0.2228553295135498, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417112.7866967, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conanmanifest.txt"}
{"_action": "DOWNLOAD", "duration": 0.2228553295135498, "time": 1656417112.7866967, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conanmanifest.txt"}
{"_action": "REST_API_CALL", "duration": 0.20779013633728027, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417112.9944868, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conaninfo.txt"}
{"_action": "DOWNLOAD", "duration": 0.20779013633728027, "time": 1656417112.9944868, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conaninfo.txt"}
{"_action": "REST_API_CALL", "duration": 0.20876073837280273, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417113.2032475, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conan_package.tgz"}
{"_action": "DOWNLOAD", "duration": 1.056480884552002, "time": 1656417114.0509677, "url": "https://gitlab.internal.com/api/v4/projects/353/packages/conan/v1/files/iomp/2021.3/projectname/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conan_package.tgz"}
{"_action": "GOT_PACKAGE_FROM_LOCAL_CACHE", "_id": "iomp/2021.3@projectname/stable:dfaf1845df660aaddf542c7f4194ee25a424d55a", "time": 1656417114.0509677}
Output when using locally hosted JFrog Artifactory:
{"_action": "COMMAND", "name": "install_reference", "parameters": {"build": null, "conf": null, "env": null, "generators": null, "install_folder": null, "is_build_require": false, "lockfile": null, "lockfile_node_id": null, "lockfile_out": null, "manifests": null, "manifests_interactive": null, "options": null, "profile_build": [null, null, null, null, null], "profile_names": null, "remote_name": "artifactory", "require_overrides": null, "settings": null, "update": true, "verify": null}, "time": 1656417137.328967}
{"_action": "REST_API_CALL", "duration": 0.034832000732421875, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "admin"}, "method": "GET", "time": 1656417137.4263062, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/ping"}
{"_action": "REST_API_CALL", "duration": 0.01013040542602539, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "admin"}, "method": "GET", "time": 1656417137.4374697, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/conans/iomp/2021.3/projectname/stable/digest"}
{"_action": "REST_API_CALL", "duration": 0.05385422706604004, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417137.4932475, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/files/projectname/iomp/2021.3/stable/0/export/conanmanifest.txt"}
{"_action": "DOWNLOAD", "duration": 0.05385422706604004, "time": 1656417137.4932475, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/files/projectname/iomp/2021.3/stable/0/export/conanmanifest.txt"}
{"_action": "GOT_RECIPE_FROM_LOCAL_CACHE", "_id": "iomp/2021.3@projectname/stable", "time": 1656417137.4932475}
{"_action": "REST_API_CALL", "duration": 0.020661115646362305, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "admin"}, "method": "GET", "time": 1656417137.5139086, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/conans/product-package-helper/0.1/projectname/stable/digest"}
{"_action": "REST_API_CALL", "duration": 0.007467985153198242, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417137.5230215, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/files/projectname/product-package-helper/0.1/stable/0/export/conanmanifest.txt"}
{"_action": "DOWNLOAD", "duration": 0.009125471115112305, "time": 1656417137.524679, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/files/projectname/product-package-helper/0.1/stable/0/export/conanmanifest.txt"}
{"_action": "GOT_RECIPE_FROM_LOCAL_CACHE", "_id": "product-package-helper/0.1@projectname/stable", "time": 1656417137.5262792}
{"_action": "REST_API_CALL", "duration": 0.015560626983642578, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)", "X-Client-Anonymous-Id": "**********", "X-Client-Id": "admin"}, "method": "GET", "time": 1656417137.548586, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/conans/iomp/2021.3/projectname/stable/packages/dfaf1845df660aaddf542c7f4194ee25a424d55a/digest"}
{"_action": "REST_API_CALL", "duration": 0.005939006805419922, "headers": {"User-Agent": "Conan/1.45.0 (Windows 10; Python 3.6.8; AMD64)"}, "method": "GET", "time": 1656417137.5561123, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/files/projectname/iomp/2021.3/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conanmanifest.txt"}
{"_action": "DOWNLOAD", "duration": 0.007620096206665039, "time": 1656417137.5577934, "url": "http://localhost:8081/artifactory/api/conan/conan-local/v1/files/projectname/iomp/2021.3/stable/0/package/dfaf1845df660aaddf542c7f4194ee25a424d55a/0/conanmanifest.txt"}
{"_action": "GOT_PACKAGE_FROM_LOCAL_CACHE", "_id": "iomp/2021.3@projectname/stable:dfaf1845df660aaddf542c7f4194ee25a424d55a", "time": 1656417137.5663981}
GitLab version: GitLab Enterprise Edition 14.9.3-ee
Related discussion on Conan issue tracker: https://github.com/conan-io/conan/issues/922#issuecomment-1168629865
Edited by 🤖 GitLab Bot 🤖