> > I tried to read content from v3/content/. There is too much content to be > listed. Not sure if I can specify a regex so I use select from db directly >
You can use query parameters when making HTTP calls against Pulp, like so: POST .../pulp/api/v3/content/packages/ name=flume There's a bunch of options available, they are documented here: https://pulp-rpm.readthedocs.io/en/latest/restapi.html#operation/content_rpm_packages_list On Tue, Mar 16, 2021 at 12:44 PM Brian Bouterse <bmbou...@redhat.com> wrote: > This doesn't help you today, but I think this type of use case is what > motivates an API call like this one that is being discussed: > https://pulp.plan.io/issues/8372 > > On Tue, Mar 16, 2021 at 12:30 PM Bin Li (BLOOMBERG/ 120 PARK) < > bli...@bloomberg.net> wrote: > >> I tried to read content from v3/content/. There is too much content to be >> listed. Not sure if I can specify a regex so I use select from db directly >> to see if I can find the package which causes the issue originally. The >> query returns 0 rows. It looks like it was cleaned out unless another >> content causes this issue. Let me know if there is anything else I can try. >> >> Below is what I have tried. >> >> The original error: >> Received checksum b8b257c32135daf51e703d439594f1a676871d7d for >> http://something/something/flume-1.9.0-1.noarch.rpm but expected >> c281a94a354178c42800d47b63479c2621772351 >> >> => select name from rpm_package where name like 'flume%' limit 100; >> name >> ------ >> (0 rows) >> >> => select checksum from rpm_checksum where checksum like >> '%594f1a676871d7d' OR checksum like '%63479c2621772351'; >> checksum >> ---------- >> (0 rows) >> >> >> >> >> From: dal...@redhat.com At: 03/15/21 11:03:48 >> To: Bin Li (BLOOMBERG/ 120 PARK ) <bli...@bloomberg.net> >> Cc: davidda...@redhat.com, pulp-list@redhat.com >> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >> >> Do you know if that package could possibly have been present in any other >> repositories also? If you know which content unit it is, try accessing it >> via the content API after having done the orphan cleanup. If it still >> exists, it wasn't cleaned up for some reason, which may mean it's used by >> some other repository. >> >> This is... interesting. Pulp seems to be attempting to save the package, >> hitting an IntegrityError because it already exists (expected), and then >> trying to retrieve the package, and not being able to find it. >> >> Please file an issue with all the information you've posted so far, we >> will look into how this could be happening. >> >> On Mon, Mar 15, 2021 at 9:37 AM Bin Li (BLOOMBERG/ 120 PARK) < >> bli...@bloomberg.net> wrote: >> >>> I deleted the repo which failed sync and run "delete >>> localhost/pulp/api/v3/orphans/" but I am still getting the same messages. >>> >>> >>> From: Bin Li (BLOOMBERG/ 120 PARK) At: 03/12/21 12:18:44 >>> To: dal...@redhat.com >>> Cc: davidda...@redhat.com, pulp-list@redhat.com >>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>> >>> Hi Dan, >>> >>> Here is the traceback? >>> >>> "error": { >>> "description": "Package matching query does not exist.", >>> "traceback": " File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/rq/worker.py\", >>> line 886, in perform_job\n rv = job.perform()\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/rq/job.py\", >>> line 664, in perform\n self._result = self._execute()\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/rq/job.py\", >>> line 670, in _execute\n return self.func(*self.args, **self.kwargs)\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulp_rpm/app/tasks/synchronizing.py\", >>> line 266, in synchronize\n dv.create()\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/declarative_version.py\", >>> line 148, in create\n loop.run_until_complete(pipeline)\n File >>> \"/opt/python/3.7.3/lib64/python3.7/asyncio/base_events.py\", line 584, in >>> run_until_complete\n return future.result()\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/api.py\", >>> line 225, in create_pipeline\n await asyncio.gather(*futures)\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/api.py\", >>> line 43, in __call__\n await self.run()\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/content_stages.py\", >>> line 105, in run\n d_content.content.q()\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/manager.py\", >>> line 82, in manager_method\n return getattr(self.get_queryset(), >>> name)(*args, **kwargs)\n File >>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/query.py\", >>> line 408, in get\n self.model._meta.object_name\n" >>> >>> >>> I will try removing the repo first and deleting orphans. >>> >>> >>> >>> From: dal...@redhat.com At: 03/12/21 11:19:17 >>> To: Bin Li (BLOOMBERG/ 120 PARK ) <bli...@bloomberg.net> >>> Cc: davidda...@redhat.com, pulp-list@redhat.com >>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>> >>> Hi Bin, >>> >>> It's difficult to understand what exactly this error is. Is it an error >>> message being printed out nicely, or part of a Python exception bubbling >>> up? And if it's the latter, do you have the rest of the traceback? >>> >>> You can't manually delete specific content units but you can delete >>> "orphan" content units that aren't part of any repository. So if you know >>> the content unit in question, you can delete it from your repositories, and >>> then run orphan cleanup. >>> >>> On Thu, Mar 11, 2021 at 11:27 AM Bin Li (BLOOMBERG/ 120 PARK) < >>> bli...@bloomberg.net> wrote: >>> >>>> If inconsistent repo data can cause Pulp to become unrecoverable, this >>>> is very difficult to prevent. Any inconsistent updates from upstream could >>>> potentially cause this to happen. At this point, we are thinking to restore >>>> the database from the backup before this sync issue happened, will this >>>> approach work? >>>> >>>> >>>> From: Bin Li (BLOOMBERG/ 120 PARK) At: 03/10/21 14:41:38 >>>> To: davidda...@redhat.com >>>> Cc: bmbou...@redhat.com, pulp-list@redhat.com >>>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>>> >>>> >>>> We know the rpm name which has different check sum with repodata and >>>> caused the sync failure earlier. I am guessing the current issue is caused >>>> by this rpm. Is there any way we can remove it from database? >>>> >>>> From: Bin Li (BLOOMBERG/ 120 PARK) At: 03/09/21 17:47:17 >>>> To: davidda...@redhat.com >>>> Cc: bmbou...@redhat.com, pulp-list@redhat.com >>>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>>> >>>> Please ignore the last message. It is irrelevant. >>>> We actually able to sync the upstream repo successfully after we reset >>>> the database. The question is how to we recover from previous failure? We >>>> keep getting "Package matching query does not exist." without reset the >>>> database. Recreating the repo didn't help either. >>>> >>>> From: Bin Li (BLOOMBERG/ 120 PARK) At: 03/09/21 17:06:53 >>>> To: davidda...@redhat.com >>>> Cc: bmbou...@redhat.com, pulp-list@redhat.com >>>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>>> >>>> It looks like the last error caused failed sync process. I reset the db >>>> on a dev host and try to sync the same upstream repo and got >>>> ""An error occurred (QuotaExceeded) when calling the PutObject >>>> operation: Unknown" >>>> >>>> Any idea how to fix this? >>>> >>>> >>>> "traceback": " File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/rq/worker.py\", >>>> line 886, in perform_job\n rv = job.perform()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/rq/job.py\", >>>> line 664, in perform\n self._result = self._execute()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/rq/job.py\", >>>> line 670, in _execute\n return self.func(*self.args, **self.kwargs)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulp_rpm/app/tasks/synchronizing.py\", >>>> line 266, in synchronize\n dv.create()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/declarative_version.py\", >>>> line 148, in create\n loop.run_until_complete(pipeline)\n File >>>> \"/opt/python/3.7.3/lib64/python3.7/asyncio/base_events.py\", line 584, in >>>> run_until_complete\n return future.result()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/api.py\", >>>> line 225, in create_pipeline\n await asyncio.gather(*futures)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/api.py\", >>>> line 43, in __call__\n await self.run()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/plugin/stages/artifact_stages.py\", >>>> line 219, in run\n d_artifact.artifact for d_artifact in da_to_save\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/app/models/content.py\", >>>> line 87, in bulk_get_or_create\n return super().bulk_create(objs, >>>> batch_size=batch_size)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/manager.py\", >>>> line 82, in manager_method\n return getattr(self.get_queryset(), >>>> name)(*args, **kwargs)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/query.py\", >>>> line 468, in bulk_create\n self._batched_insert(objs_with_pk, fields, >>>> batch_size, ignore_conflicts=ignore_conflicts)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/query.py\", >>>> line 1204, in _batched_insert\n ignore_conflicts=ignore_conflicts,\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/query.py\", >>>> line 1186, in _insert\n return >>>> query.get_compiler(using=using).execute_sql(return_id)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/sql/compiler.py\", >>>> line 1376, in execute_sql\n for sql, params in self.as_sql():\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django_readonly_field/compiler.py\", >>>> line 31, in as_sql\n return super(ReadonlySQLCompilerMixin, >>>> self).as_sql()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/sql/compiler.py\", >>>> line 1320, in as_sql\n for obj in self.query.objs\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/sql/compiler.py\", >>>> line 1320, in <listcomp>\n for obj in self.query.objs\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/sql/compiler.py\", >>>> line 1319, in <listcomp>\n [self.prepare_value(field, >>>> self.pre_save_val(field, obj)) for field in fields]\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/sql/compiler.py\", >>>> line 1270, in pre_save_val\n return field.pre_save(obj, add=True)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/pulpcore/app/models/fields.py\", >>>> line 68, in pre_save\n return super().pre_save(model_instance, add)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/fields/files.py\", >>>> line 288, in pre_save\n file.save(file.name, file.file, save=False)\n >>>> File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/db/models/fields/files.py\", >>>> line 87, in save\n self.name = self.storage.save(name, content, >>>> max_length=self.field.max_length)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/django/core/files/storage.py\", >>>> line 52, in save\n return self._save(name, content)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/storages/backends/s3boto3.py\", >>>> line 447, in _save\n obj.upload_fileobj(content, ExtraArgs=params)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/boto3/s3/inject.py\", >>>> line 621, in object_upload_fileobj\n ExtraArgs=ExtraArgs, >>>> Callback=Callback, Config=Config)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/boto3/s3/inject.py\", >>>> line 539, in upload_fileobj\n return future.result()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/s3transfer/futures.py\", >>>> line 106, in result\n return self._coordinator.result()\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/s3transfer/futures.py\", >>>> line 265, in result\n raise self._exception\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/s3transfer/tasks.py\", >>>> line 126, in __call__\n return self._execute_main(kwargs)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/s3transfer/tasks.py\", >>>> line 150, in _execute_main\n return_value = self._main(**kwargs)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/s3transfer/upload.py\", >>>> line 692, in _main\n client.put_object(Bucket=bucket, Key=key, Body=body, >>>> **extra_args)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/botocore/client.py\", >>>> line 357, in _api_call\n return self._make_api_call(operation_name, >>>> kwargs)\n File >>>> \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/botocore/client.py\", >>>> line 676, in _make_api_call\n raise error_class(parsed_response, >>>> operation_name)\n" >>>> >>>> >>>> From: Bin Li (BLOOMBERG/ 120 PARK) At: 03/09/21 11:34:57 >>>> To: davidda...@redhat.com >>>> Cc: bmbou...@redhat.com, pulp-list@redhat.com >>>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>>> >>>> Got a new errors "Package matching query does not exist.". Is this also >>>> related to upstream repo? Can we have more details when this happens? >>>> >>>> From: davidda...@redhat.com At: 03/05/21 15:06:40 >>>> To: Bin Li (BLOOMBERG/ 120 PARK ) <bli...@bloomberg.net> >>>> Cc: bmbou...@redhat.com, pulp-list@redhat.com >>>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>>> >>>> Great, thanks for the update. >>>> >>>> David >>>> >>>> >>>> On Fri, Mar 5, 2021 at 2:47 PM Bin Li (BLOOMBERG/ 120 PARK) < >>>> bli...@bloomberg.net> wrote: >>>> >>>>> Thanks Dave. Got the filename which has the inconsistent checksum >>>>> after patching. We will ask upstream remote to update the repodata. >>>>> >>>>> From: davidda...@redhat.com At: 03/05/21 12:42:56 >>>>> To: bmbou...@redhat.com >>>>> Cc: Bin Li (BLOOMBERG/ 120 PARK ) <bli...@bloomberg.net>, >>>>> pulp-list@redhat.com >>>>> Subject: Re: [Pulp-list] pulp 3.7.3 sync with checksum error >>>>> >>>>> Regarding the error message, I've observed the problem myself. and >>>>> have filed an issue: >>>>> >>>>> https://pulp.plan.io/issues/8357 >>>>> >>>>> In the meantime, if you can patch the code, this should tell you give >>>>> you more info: >>>>> >>>>> https://gist.github.com/daviddavis/2e6ab1872d97230d144a6cd1f9d05e31 >>>>> >>>>> David >>>>> >>>>> >>>>> On Fri, Mar 5, 2021 at 12:35 PM Brian Bouterse <bmbou...@redhat.com> >>>>> wrote: >>>>> >>>>>> Did this happen inside a task? Did you see a traceback for it also? >>>>>> >>>>>> On Fri, Mar 5, 2021 at 12:00 PM Bin Li (BLOOMBERG/ 120 PARK) < >>>>>> bli...@bloomberg.net> wrote: >>>>>> >>>>>>> The sync process gave an error "A file failed validation due to >>>>>>> checksum". Is this error caused by remote repo? Is there a way to find >>>>>>> out >>>>>>> which file cause the issue? >>>>>>> _______________________________________________ >>>>>>> Pulp-list mailing list >>>>>>> Pulp-list@redhat.com >>>>>>> https://listman.redhat.com/mailman/listinfo/pulp-list >>>>>> >>>>>> _______________________________________________ >>>>>> Pulp-list mailing list >>>>>> Pulp-list@redhat.com >>>>>> https://listman.redhat.com/mailman/listinfo/pulp-list >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> Pulp-list mailing list >>>> Pulp-list@redhat.com >>>> https://listman.redhat.com/mailman/listinfo/pulp-list >>> >>> >>> >> _______________________________________________ >> Pulp-list mailing list >> Pulp-list@redhat.com >> https://listman.redhat.com/mailman/listinfo/pulp-list > >
_______________________________________________ Pulp-list mailing list Pulp-list@redhat.com https://listman.redhat.com/mailman/listinfo/pulp-list