Browse Source

Revert "files: queue deletes (#8738)"

This reverts commit 2be389f0944bef4ac260804cb457f51d370d93df.
Joshua Li 6 years ago
parent
commit
b5b4fc6af1

+ 0 - 2
requirements-base.txt

@@ -17,8 +17,6 @@ enum34>=1.1.6,<1.2.0
 exam>=0.5.1
 functools32>=3.2.3,<3.3
 futures>=3.2.0,<4.0.0
-google-cloud-pubsub>=0.35.4,<0.36.0
-google-cloud-storage>=1.10.0,<1.11.0
 # broken on python3
 hiredis>=0.1.0,<0.2.0
 honcho>=1.0.0,<1.1.0

+ 3 - 0
requirements-optional.txt

@@ -1,2 +1,5 @@
+google-cloud-pubsub>=0.28.3,<0.29
+# See https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4001
+grpcio==1.4.0
 python3-saml>=1.4.0,<1.5
 GeoIP==1.3.2

+ 0 - 2
src/sentry/conf/server.py

@@ -439,7 +439,6 @@ CELERY_IMPORTS = (
     'sentry.tasks.scheduler', 'sentry.tasks.signals', 'sentry.tasks.store', 'sentry.tasks.unmerge',
     'sentry.tasks.symcache_update', 'sentry.tasks.servicehooks',
     'sentry.tagstore.tasks', 'sentry.tasks.assemble', 'sentry.tasks.integrations',
-    'sentry.tasks.files',
 )
 CELERY_QUEUES = [
     Queue('activity.notify', routing_key='activity.notify'),
@@ -462,7 +461,6 @@ CELERY_QUEUES = [
     Queue('events.reprocessing.process_event', routing_key='events.reprocessing.process_event'),
     Queue('events.reprocess_events', routing_key='events.reprocess_events'),
     Queue('events.save_event', routing_key='events.save_event'),
-    Queue('files.delete', routing_key='files.delete'),
     Queue('integrations', routing_key='integrations'),
     Queue('merge', routing_key='merge'),
     Queue('options', routing_key='options'),

+ 3 - 3
src/sentry/models/file.py

@@ -27,7 +27,6 @@ from jsonfield import JSONField
 
 from sentry.app import locks
 from sentry.db.models import (BoundedPositiveIntegerField, FlexibleForeignKey, Model)
-from sentry.tasks.files import delete_file as delete_file_task
 from sentry.utils import metrics
 from sentry.utils.retries import TimedRetryPolicy
 
@@ -139,7 +138,8 @@ class FileBlob(Model):
     def deletefile(self, commit=False):
         assert self.path
 
-        delete_file_task.delay(self.path, self.checksum)
+        storage = get_storage()
+        storage.delete(self.path)
 
         self.path = None
 
@@ -393,7 +393,7 @@ class ChunkedFileBlobIndexWrapper(object):
 
         def fetch_file(offset, getfile):
             with getfile() as sf:
-                while True:
+                while 1:
                     chunk = sf.read(65535)
                     if not chunk:
                         break

+ 0 - 21
src/sentry/tasks/files.py

@@ -1,21 +0,0 @@
-from __future__ import absolute_import
-
-from sentry.tasks.base import instrumented_task
-from sentry.tasks.deletion import MAX_RETRIES
-
-
-@instrumented_task(
-    name='sentry.tasks.files.delete_file',
-    queue='files.delete',
-    default_retry_delay=60 * 5,
-    max_retries=MAX_RETRIES
-)
-def delete_file(path, checksum, **kwargs):
-    from sentry.models.file import get_storage, FileBlob
-    from sentry.app import locks
-    from sentry.utils.retries import TimedRetryPolicy
-
-    lock = locks.get('fileblob:upload:{}'.format(checksum), duration=60 * 10)
-    with TimedRetryPolicy(60)(lock.acquire):
-        if not FileBlob.objects.filter(checksum=checksum).exists():
-            get_storage().delete(path)