Closed Bug 916628 Opened 11 years ago Closed 11 years ago

postgres errors in crontabber after weekly data refresh

Categories

(Socorro :: Database, task)

x86
macOS
task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lonnen, Assigned: brandon)

References

Details

From the crontabber log: 2013-09-15 16:02:11,893 DEBUG - MainThread - about to run <class 'socorro.cron.jobs.matviews.SignatureSummaryCronApp'> 2013-09-15 16:09:46,406 DEBUG - MainThread - error when running <class 'socorro.cron.jobs.matviews.SignatureSummaryCronApp'> on None Traceback (most recent call last): File "/data/socorro/application/socorro/cron/crontabber.py", line 706, in _run_one for last_success in self._run_job(job_class, config, info): File "/data/socorro/application/socorro/cron/base.py", line 174, in main function(when) File "/data/socorro/application/socorro/cron/base.py", line 213, in _run_proxy self.run(connection, date) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 50, in run self.run_proc(connection, [target_date]) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 21, in run_proc cursor.callproc(self.get_proc_name(), signature) IntegrityError: duplicate key value violates unique constraint "signature_summary_products_pkey" DETAIL: Key (signature_id, product_version_id, report_date)=(4873272, 1725, 2013-09-13) already exists. CONTEXT: SQL statement "INSERT INTO signature_summary_products ( signature_id , product_version_id , product_name , version_string , report_count , report_date ) SELECT signature_id , product_version_id , product_name , version_string , count(*) AS report_count , updateday AS report_date FROM reports_clean JOIN product_versions USING (product_version_id) WHERE date_processed::date = updateday GROUP BY product_version_id, product_name, version_string, signature_id, updateday" PL/pgSQL function update_signature_summary(date,boolean) line 23 at SQL statement 2013-09-15 16:35:02,370 DEBUG - MainThread - about to run <class 'socorro.cron.jobs.matviews.GraphicsDeviceCronApp'> 2013-09-15 16:35:02,377 DEBUG - MainThread - error when running <class 'socorro.cron.jobs.matviews.GraphicsDeviceCronApp'> on None Traceback (most recent call last): File "/data/socorro/application/socorro/cron/crontabber.py", line 706, in _run_one for last_success in self._run_job(job_class, config, info): File "/data/socorro/application/socorro/cron/base.py", line 174, in main function(when) File "/data/socorro/application/socorro/cron/base.py", line 213, in _run_proxy self.run(connection, date) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 50, in run self.run_proc(connection, [target_date]) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 21, in run_proc cursor.callproc(self.get_proc_name(), signature) ProgrammingError: function update_graphics_devices(date) does not exist LINE 1: SELECT * FROM update_graphics_devices('2013-09-13'::date) ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.
So the update_graphics_devices() was added last week, not sure how that migration gets run but we can take a look at it. Dev or stage?
Could be both. Stage is alerting.
Selena manually runs migrations on stage for now. I bet it got wiped out in the DB copy from prod.
I'll run it now.
The migration completed. I'll see about adding an 'alembic upgrade head' to the database refresh script.
Still encountering Integrity error, but I think those occasionally build up. The graphics function appears to have an error in it. 2013-09-16 07:18:12,659 DEBUG - MainThread - error when running <class 'socorro.cron.jobs.matviews.SignatureSummaryCronApp'> on None Traceback (most recent call last): File "/data/socorro/application/socorro/cron/crontabber.py", line 706, in _run_one for last_success in self._run_job(job_class, config, info): File "/data/socorro/application/socorro/cron/base.py", line 174, in main function(when) File "/data/socorro/application/socorro/cron/base.py", line 213, in _run_proxy self.run(connection, date) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 50, in run self.run_proc(connection, [target_date]) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 21, in run_proc cursor.callproc(self.get_proc_name(), signature) IntegrityError: duplicate key value violates unique constraint "signature_summary_products_pkey" DETAIL: Key (signature_id, product_version_id, report_date)=(4873272, 1725, 2013-09-13) already exists. CONTEXT: SQL statement "INSERT INTO signature_summary_products ( signature_id , product_version_id , product_name , version_string , report_count , report_date ) SELECT signature_id , product_version_id , product_name , version_string , count(*) AS report_count , updateday AS report_date FROM reports_clean JOIN product_versions USING (product_version_id) WHERE date_processed::date = updateday GROUP BY product_version_id, product_name, version_string, signature_id, updateday" PL/pgSQL function update_signature_summary(date,boolean) line 23 at SQL statement 2013-09-16 07:50:36,856 DEBUG - MainThread - error when running <class 'socorro.cron.jobs.matviews.GraphicsDeviceCronApp'> on None Traceback (most recent call last): File "/data/socorro/application/socorro/cron/crontabber.py", line 706, in _run_one for last_success in self._run_job(job_class, config, info): File "/data/socorro/application/socorro/cron/base.py", line 174, in main function(when) File "/data/socorro/application/socorro/cron/base.py", line 213, in _run_proxy self.run(connection, date) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 50, in run self.run_proc(connection, [target_date]) File "/data/socorro/application/socorro/cron/jobs/matviews.py", line 21, in run_proc cursor.callproc(self.get_proc_name(), signature) ProgrammingError: permission denied for relation graphics_device CONTEXT: SQL statement "INSERT INTO graphics_device ( vendor_hex , adapter_hex ) SELECT new_graphics_devices.vendor_hex , new_graphics_devices.adapter_hex FROM new_graphics_devices LEFT OUTER JOIN graphics_device ON new_graphics_devices.vendor_hex = graphics_device.vendor_hex AND new_graphics_devices.adapter_hex = graphics_device.adapter_hex WHERE graphics_device.graphics_device_id IS NULL AND new_graphics_devices.vendor_hex IS NOT NULL GROUP BY new_graphics_devices.vendor_hex , new_graphics_devices.adapter_hex" PL/pgSQL function update_graphics_devices(date,boolean) line 30 at SQL statement
Blocks: 853468
So, with the migration run this looks very much like a permissions problem on the database. :selenamarie can you take a look and see what you think?
Flags: needinfo?(sdeckelmann)
Assignee: nobody → bsavage
Commits pushed to master at https://github.com/mozilla/socorro https://github.com/mozilla/socorro/commit/d44aca8acbbfb821f71a281196468576e744a1fc Fixes Bug 916628 - Resolving permissions problems on new migration. https://github.com/mozilla/socorro/commit/05594e84dfbca9817fef1b53f0cacc913603cf84 Merge pull request #1526 from brandonsavage/bug916628migrationupdate Fixes Bug 916628 - Resolving permissions problems on new migration. r=selenamarie
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → 60
Flags: needinfo?(sdeckelmann)
You need to log in before you can comment on or make changes to this bug.