16.09.2024, 13:53:06.313 nginx stdout | 192.0.2.11 (-) - - [16/Sep/2024:11:53:06 +0000] "GET /v2/ HTTP/1.1" 401 4 "https://quay-proxy.example/v2/" "docker/19.03.13 go/go1.13.15 git-commit/4484c46d9d kernel/4.18.0-513.24.1.el8_9.x86_64 os/linux arch/amd64 UpstreamClient(Go-http-client/1.1)" (0.005 285 0.005) 16.09.2024, 13:53:05.794 gunicorn-web stdout | 2024-09-16 11:53:05,791 [318] [INFO] [gunicorn.access] 192.0.2.49 - - [16/Sep/2024:11:53:05 +0000] "HEAD /api/v1/repository/quay.io/cilium/alpine-curl HTTP/1.0" 200 0 "-" "Faraday v2.9.0" 16.09.2024, 13:53:05.792 nginx stdout | 192.0.2.49 (-) - - [16/Sep/2024:11:53:05 +0000] "HEAD /api/v1/repository/quay.io/cilium/alpine-curl HTTP/1.1" 200 0 "-" "Faraday v2.9.0" (0.513 249 0.513) 16.09.2024, 13:53:05.333 nginx stdout | 192.0.2.11 (-) - - [16/Sep/2024:11:53:05 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 500 141 "https://quay-proxy.example/v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff" "cri-o/1.30.2 go/go1.22.0 os/linux arch/amd64" (2.303 791 2.304) 16.09.2024, 13:53:05.332 gunicorn-registry stdout | 2024-09-16 11:53:05,328 [323] [INFO] [gunicorn.access] - - [16/Sep/2024:11:53:05 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 500 0 "-" "-" 16.09.2024, 13:53:05.330 gunicorn-registry stdout | DETAIL: Key (repository_id, digest)=(476, sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff) already exists. 16.09.2024, 13:53:05.330 gunicorn-registry stdout | data.model.oci.manifest._ManifestAlreadyExists: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:05.330 gunicorn-registry stdout | raise _ManifestAlreadyExists(e) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/model/oci/manifest.py", line 208, in create_manifest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | db_manifest = oci.manifest.create_manifest(repository_ref.id, manifest) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/re gistry_model/registry_proxy_model.py", line 566, in _create_manifest_with_temp_tag 16.09.2024, 13:53:05.330 gunicorn-registry stdout | manifest, tag = create_manifest_fn(repo_ref, upstream_manifest, manifest_ref) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_proxy_model.py", line 401, in _create_and_tag_manifest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | wrapped_manifest, _ = self._create_and_tag_manifest( 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_proxy_model.py", line 256, in lookup_manifest_by_digest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | manifest = self.lookup_manifest_by_digest( 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 916, in load_manifest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | result = loader() 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/cache/impl.py", line 233, in retrieve 16.09.2024, 13:53:05.330 gunicorn-registry stdout | result = model_cache.retrieve(manifest_cache_key, load_manifest) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 942, in lookup_cached_manifest_by_digest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | manifest = registry_model.lookup_cached_manifest_by_digest( 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/v2/manifest.py", line 161, in fetch_manifest_by_digest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 54, in wrapper 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 164, in wrapper 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return func(namespace_name, repo_name, *args, **kwargs) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/v2/__init__.py", line 243, in wrapped 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/api/__init__.py", line 416, in wrapper 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/auth/registry_jwt_auth.py", line 175, in wrapper 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 91, in wrapper 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return func(*args, **kwargs) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 228, in wrapper 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request 16.09.2024, 13:53:05.330 gunicorn-registry stdout | rv = self.dispatch_request() 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request 16.09.2024, 13:53:05.330 gunicorn-registry stdout | rv = self.handle_user_exception(e) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request 16.09.2024, 13:53:05.330 gunicorn-registry stdout | response = self.full_dispatch_request() 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app 16.09.2024, 13:53:05.330 gunicorn-registry stdout | response = self.handle_exception(e) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2193, in wsgi_app 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return self.app(environ, start_response) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/werkzeug/middleware/proxy_fix.py", line 182, in __call__ 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return self.wsgi_app(environ, start_response) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__ 16.09.2024, 13:53:05.330 gunicorn-registry stdout | respiter = self.wsgi(environ, resp.start_response) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/base_async.py", line 108, in handle_request 16.09.2024, 13:53:05.330 gunicorn-registry stdout | super().handle_request(listener_name, req, sock, addr) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/ggevent.py", line 128, in handle_request 16.09.2024, 13:53:05.330 gunicorn-registry stdout | self.handle_request(listener_name, req, client, addr) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/base_async.py", line 55, in handle 16.09.2024, 13:53:05.330 gunicorn-registry stdout | peewee.IntegrityError: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:05.330 gunicorn-registry stdout | raise value.with_traceback(tb) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 183, in reraise 16.09.2024, 13:53:05.330 gunicorn-registry stdout | reraise(new_type, new_type(exc_value, *exc_args), traceback) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2831, in __exit__ 16.09.2024, 13:53:05.330 gunicorn-registry stdout | self.commit() 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3064, in execute_sql 16.09.2024, 13:53:05.330 gunicorn-registry stdout | cursor = super(RetryOperationalError, self).execute_sql(sql, params, commit) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/database.py", line 228, in execute_sql 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return self.execute_sql(sql, params, commit=commit) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3070, in execute 16.09.2024, 13:53:05.330 gunicorn-registry stdout | cursor = database.execute(self) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2405, in execute_returning 16.09.2024, 13:53:05.330 gunicorn-registry stdout | cursor = self.execute_returning(database) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2398, in _execute 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return super(Insert, self)._execute(database) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2665, in _execute 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return self._execute(database) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 1916, in execute 16.09.2024, 13:53:05.330 gunicorn-registry stdout | return method(self, database, *args, **kwargs) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 1845, in inner 16.09.2024, 13:53:05.330 gunicorn-registry stdout | pk = self.insert(**field_dict).execute() 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 6433, in save 16.09.2024, 13:53:05.330 gunicorn-registry stdout | inst.save(force_insert=True) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 6235, in create 16.09.2024, 13:53:05.330 gunicorn-registry stdout | created_manifest = Manifest.create( 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/quay-registry/data/model/oci/manifest.py", line 186, in create_manifest 16.09.2024, 13:53:05.330 gunicorn-registry stdout | During handling of the above exception, another exception occurred: 16.09.2024, 13:53:05.330 gunicorn-registry stdout | DETAIL: Key (repository_id, digest)=(476, sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff) already exists. 16.09.2024, 13:53:05.330 gunicorn-registry stdout | psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:05.330 gunicorn-registry stdout | cursor.execute(sql, params or ()) 16.09.2024, 13:53:05.330 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3057, in execute_sql 16.09.2024, 13:53:05.330 gunicorn-registry stdout | Traceback (most recent call last): 16.09.2024, 13:53:05.330 gunicorn-registry stdout | 2024-09-16 11:53:05,315 [323] [ERROR] [gunicorn.error] Error handling request /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff 16.09.2024, 13:53:05.246 gunicorn-web stdout | 2024-09-16 11:53:05,243 [317] [INFO] [gunicorn.access] 192.0.2.49 - - [16/Sep/2024:11:53:05 +0000] "GET /api/v1/organization/quay.io/proxycache HTTP/1.0" 200 75 "-" "Faraday v2.9.0" 16.09.2024, 13:53:05.244 nginx stdout | 192.0.2.49 (-) - - [16/Sep/2024:11:53:05 +0000] "GET /api/v1/organization/quay.io/proxycache HTTP/1.1" 200 75 "-" "Faraday v2.9.0" (0.431 242 0.431) 16.09.2024, 13:53:04.886 nginx stdout | 192.0.2.11 (-) - - [16/Sep/2024:11:53:04 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 500 141 "https://quay-proxy.example/v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff" "cri-o/1.30.2 go/go1.22.0 os/linux arch/amd64" (1.204 791 1.204) 16.09.2024, 13:53:04.885 gunicorn-registry stdout | 2024-09-16 11:53:04,882 [322] [INFO] [gunicorn.access] - - [16/Sep/2024:11:53:04 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 500 0 "-" "-" 16.09.2024, 13:53:04.883 gunicorn-registry stdout | DETAIL: Key (repository_id, digest)=(476, sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff) already exists. 16.09.2024, 13:53:04.883 gunicorn-registry stdout | data.model.oci.manifest._ManifestAlreadyExists: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:04.883 gunicorn-registry stdout | raise _ManifestAlreadyExists(e) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/model/oci/manifest.py", line 208, in create_manifest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | db_manifest = oci.manifest.create_manifest(repository_ref.id, manifest) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/re gistry_model/registry_proxy_model.py", line 566, in _create_manifest_with_temp_tag 16.09.2024, 13:53:04.883 gunicorn-registry stdout | manifest, tag = create_manifest_fn(repo_ref, upstream_manifest, manifest_ref) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_proxy_model.py", line 401, in _create_and_tag_manifest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | wrapped_manifest, _ = self._create_and_tag_manifest( 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_proxy_model.py", line 256, in lookup_manifest_by_digest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | manifest = self.lookup_manifest_by_digest( 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 916, in load_manifest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | result = loader() 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/cache/impl.py", line 233, in retrieve 16.09.2024, 13:53:04.883 gunicorn-registry stdout | result = model_cache.retrieve(manifest_cache_key, load_manifest) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 942, in lookup_cached_manifest_by_digest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | manifest = registry_model.lookup_cached_manifest_by_digest( 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/v2/manifest.py", line 161, in fetch_manifest_by_digest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 54, in wrapper 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 164, in wrapper 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return func(namespace_name, repo_name, *args, **kwargs) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/v2/__init__.py", line 243, in wrapped 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/api/__init__.py", line 416, in wrapper 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/auth/registry_jwt_auth.py", line 175, in wrapper 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 91, in wrapper 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return func(*args, **kwargs) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 228, in wrapper 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request 16.09.2024, 13:53:04.883 gunicorn-registry stdout | rv = self.dispatch_request() 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request 16.09.2024, 13:53:04.883 gunicorn-registry stdout | rv = self.handle_user_exception(e) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request 16.09.2024, 13:53:04.883 gunicorn-registry stdout | response = self.full_dispatch_request() 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app 16.09.2024, 13:53:04.883 gunicorn-registry stdout | response = self.handle_exception(e) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2193, in wsgi_app 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return self.app(environ, start_response) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/werkzeug/middleware/proxy_fix.py", line 182, in __call__ 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return self.wsgi_app(environ, start_response) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__ 16.09.2024, 13:53:04.883 gunicorn-registry stdout | respiter = self.wsgi(environ, resp.start_response) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/base_async.py", line 108, in handle_request 16.09.2024, 13:53:04.883 gunicorn-registry stdout | super().handle_request(listener_name, req, sock, addr) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/ggevent.py", line 128, in handle_request 16.09.2024, 13:53:04.883 gunicorn-registry stdout | self.handle_request(listener_name, req, client, addr) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/base_async.py", line 55, in handle 16.09.2024, 13:53:04.883 gunicorn-registry stdout | peewee.IntegrityError: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:04.883 gunicorn-registry stdout | raise value.with_traceback(tb) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 183, in reraise 16.09.2024, 13:53:04.883 gunicorn-registry stdout | reraise(new_type, new_type(exc_value, *exc_args), traceback) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2831, in __exit__ 16.09.2024, 13:53:04.883 gunicorn-registry stdout | self.commit() 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3064, in execute_sql 16.09.2024, 13:53:04.883 gunicorn-registry stdout | cursor = super(RetryOperationalError, self).execute_sql(sql, params, commit) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/database.py", line 228, in execute_sql 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return self.execute_sql(sql, params, commit=commit) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3070, in execute 16.09.2024, 13:53:04.883 gunicorn-registry stdout | cursor = database.execute(self) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2405, in execute_returning 16.09.2024, 13:53:04.883 gunicorn-registry stdout | cursor = self.execute_returning(database) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2398, in _execute 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return super(Insert, self)._execute(database) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2665, in _execute 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return self._execute(database) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 1916, in execute 16.09.2024, 13:53:04.883 gunicorn-registry stdout | return method(self, database, *args, **kwargs) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 1845, in inner 16.09.2024, 13:53:04.883 gunicorn-registry stdout | pk = self.insert(**field_dict).execute() 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 6433, in save 16.09.2024, 13:53:04.883 gunicorn-registry stdout | inst.save(force_insert=True) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 6235, in create 16.09.2024, 13:53:04.883 gunicorn-registry stdout | created_manifest = Manifest.create( 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/quay-registry/data/model/oci/manifest.py", line 186, in create_manifest 16.09.2024, 13:53:04.883 gunicorn-registry stdout | During handling of the above exception, another exception occurred: 16.09.2024, 13:53:04.883 gunicorn-registry stdout | DETAIL: Key (repository_id, digest)=(476, sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff) already exists. 16.09.2024, 13:53:04.883 gunicorn-registry stdout | psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:04.883 gunicorn-registry stdout | cursor.execute(sql, params or ()) 16.09.2024, 13:53:04.883 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3057, in execute_sql 16.09.2024, 13:53:04.883 gunicorn-registry stdout | Traceback (most recent call last): 16.09.2024, 13:53:04.883 gunicorn-registry stdout | 2024-09-16 11:53:04,878 [322] [ERROR] [gunicorn.error] Error handling request /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff 16.09.2024, 13:53:04.773 nginx stdout | 192.0.2.11 (-) - - [16/Sep/2024:11:53:04 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 500 141 "https://quay-proxy.example/v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff" "cri-o/1.30.2 go/go1.22.0 os/linux arch/amd64" (0.777 791 0.777) 16.09.2024, 13:53:04.772 gunicorn-registry stdout | 2024-09-16 11:53:04,768 [320] [INFO] [gunicorn.access] - - [16/Sep/2024:11:53:04 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 500 0 "-" "-" 16.09.2024, 13:53:04.772 gunicorn-registry stdout | DETAIL: Key (repository_id, digest)=(476, sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff) already exists. 16.09.2024, 13:53:04.772 gunicorn-registry stdout | data.model.oci.manifest._ManifestAlreadyExists: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:04.772 gunicorn-registry stdout | raise _ManifestAlreadyExists(e) 16.09.2024, 13:53:04.772 gunicorn-registry stdout | File "/quay-registry/data/model/oci/manifest.py", line 208, in create_manifest 16.09.2024, 13:53:04.772 gunicorn-registry stdout | db_manifest = oci.manifest.create_manifest(repository_ref.id, manifest) 16.09.2024, 13:53:04.772 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_proxy_model.py", line 566, in _create_manifest_with_temp_tag 16.09.2024, 13:53:04.772 gunicorn-registry stdout | manifest, tag = create_manifest_fn(repo_ref, upstream_manifest, manifest_ref) 16.09.2024, 13:53:04.772 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_proxy_model.py", line 401, in _create_and_tag_manifest 16.09.2024, 13:53:04.772 gunicorn-registry stdout | wrapped_manifest, _ = self._create_and_tag_manifest( 16.09.2024, 13:53:04.772 gunicorn-registry stdout | File "/quay-registry/data/registry_ model/registry_proxy_model.py", line 256, in lookup_manifest_by_digest 16.09.2024, 13:53:04.771 gunicorn-registry stdout | manifest = self.lookup_manifest_by_digest( 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 916, in load_manifest 16.09.2024, 13:53:04.771 gunicorn-registry stdout | result = loader() 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/data/cache/impl.py", line 233, in retrieve 16.09.2024, 13:53:04.771 gunicorn-registry stdout | result = model_cache.retrieve(manifest_cache_key, load_manifest) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 942, in lookup_cached_manifest_by_digest 16.09.2024, 13:53:04.771 gunicorn-registry stdout | manifest = registry_model.lookup_cached_manifest_by_digest( 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/v2/manifest.py", line 161, in fetch_manifest_by_digest 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 54, in wrapper 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 164, in wrapper 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return func(namespace_name, repo_name, *args, **kwargs) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/v2/__init__.py", line 243, in wrapped 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/api/__init__.py", line 416, in wrapper 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/auth/registry_jwt_auth.py", line 175, in wrapper 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 91, in wrapper 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return func(*args, **kwargs) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/endpoints/decorators.py", line 228, in wrapper 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request 16.09.2024, 13:53:04.771 gunicorn-registry stdout | rv = self.dispatch_request() 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request 16.09.2024, 13:53:04.771 gunicorn-registry stdout | rv = self.handle_user_exception(e) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request 16.09.2024, 13:53:04.771 gunicorn-registry stdout | response = self.full_dispatch_request() 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app 16.09.2024, 13:53:04.771 gunicorn-registry stdout | response = self.handle_exception(e) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2193, in wsgi_app 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return self.app(environ, start_response) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/werkzeug/middleware/proxy_fix.py", line 182, in __call__ 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return self.wsgi_app(environ, start_response) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__ 16.09.2024, 13:53:04.771 gunicorn-registry stdout | respiter = self.wsgi(environ, resp.start_response) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/base_async.py", line 108, in handle_request 16.09.2024, 13:53:04.771 gunicorn-registry stdout | super().handle_request(listener_name, req, sock, addr) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/ggevent.py", line 128, in handle_request 16.09.2024, 13:53:04.771 gunicorn-registry stdout | self.handle_request(listener_name, req, client, addr) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/gunicorn/workers/base_async.py", line 55, in handle 16.09.2024, 13:53:04.771 gunicorn-registry stdout | peewee.IntegrityError: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:04.771 gunicorn-registry stdout | raise value.with_traceback(tb) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 183, in reraise 16.09.2024, 13:53:04.771 gunicorn-registry stdout | reraise(new_type, new_type(exc_value, *exc_args), traceback) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2831, in __exit__ 16.09.2024, 13:53:04.771 gunicorn-registry stdout | self.commit() 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3064, in execute_sql 16.09.2024, 13:53:04.771 gunicorn-registry stdout | cursor = super(RetryOperationalError, self).execute_sql(sql, params, commit) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/data/database.py", line 228, in execute_sql 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return self.execute_sql(sql, params, commit=commit) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3070, in execute 16.09.2024, 13:53:04.771 gunicorn-registry stdout | cursor = database.execute(self) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2405, in execute_returning 16.09.2024, 13:53:04.771 gunicorn-registry stdout | cursor = self.execute_returning(database) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2398, in _execute 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return super(Insert, self)._execute(database) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 2665, in _execute 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return self._execute(database) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 1916, in execute 16.09.2024, 13:53:04.771 gunicorn-registry stdout | return method(self, database, *args, **kwargs) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 1845, in inner 16.09.2024, 13:53:04.771 gunicorn-registry stdout | pk = self.insert(**field_dict).execute() 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 6433, in save 16.09.2024, 13:53:04.771 gunicorn-registry stdout | inst.save(force_insert=True) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 6235, in create 16.09.2024, 13:53:04.771 gunicorn-registry stdout | created_manifest = Manifest.create( 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/quay-registry/data/model/oci/manifest.py", line 186, in create_manifest 16.09.2024, 13:53:04.771 gunicorn-registry stdout | During handling of the above exception, another exception occurred: 16.09.2024, 13:53:04.771 gunicorn-registry stdout | DETAIL: Key (repository_id, digest)=(476, sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff) already exists. 16.09.2024, 13:53:04.771 gunicorn-registry stdout | psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "manifest_repository_id_digest" 16.09.2024, 13:53:04.771 gunicorn-registry stdout | cursor.execute(sql, params or ()) 16.09.2024, 13:53:04.771 gunicorn-registry stdout | File "/app/lib/python3.9/site-packages/peewee.py", line 3057, in execute_sql 16.09.2024, 13:53:04.771 gunicorn-registry stdout | Traceback (most recent call last): 16.09.2024, 13:53:04.771 gunicorn-registry stdout | 2024-09-16 11:53:04,758 [320] [ERROR] [gunicorn.error] Error handling request /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff 16.09.2024, 13:53:04.771 gunicorn-registry stdout | 2024-09-16 11:53:04,768 [324] [INFO] [gunicorn.access] 192.0.2.11 - - [16/Sep/2024:11:53:04 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 200 1607 "https://quay-proxy.example/v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff" "cri-o/1.30.2 go/go1.22.0 os/linux arch/amd64" 16.09.2024, 13:53:04.769 nginx stdout | 192.0.2.11 (-) - - [16/Sep/2024:11:53:04 +0000] "GET /v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff HTTP/1.1" 200 1607 "https://quay-proxy.example/v2/quay.io/cilium/alpine-curl/manifests/sha256:e9f5bd17e6fe42f56d926674624dc915e4d3ff3d3c42f4d9c2f10c72ee9993ff" "cri-o/1.30.2 go/go1.22.0 os/linux arch/amd64" (1.349 791 1.349)