Переглянути джерело

[core] Turn off database logging by default

Introduced back the ini property to turn if on.
Romain Rigaux 10 роки тому
батько
коміт
cf45917

+ 0 - 1
apps/oozie/src/oozie/management/commands/oozie_setup.py

@@ -134,7 +134,6 @@ class Command(NoArgsCommand):
     LOG.info(_("Installing examples..."))
 
     if ENABLE_V2.get():
-      self.fs.do_as_user(self.fs.DEFAULT_USER, self.fs.copyFromLocal, local_dir, remote_data_dir)
       management.call_command('loaddata', 'initial_oozie_examples.json', verbosity=2)
     else:
       self.install_examples()

+ 3 - 0
desktop/conf.dist/hue.ini

@@ -30,6 +30,9 @@
   # Enable or disable Django debug mode.
   django_debug_mode=false
 
+  # Enable or disable database debug mode.
+  ## database_logging=false
+
   # Enable or disable backtrace for server error
   http_500_debug_mode=false
 

+ 3 - 0
desktop/conf/pseudo-distributed.ini.tmpl

@@ -36,6 +36,9 @@
   # Enable or disable Django debug mode
   ## django_debug_mode=true
 
+  # Enable or disable database debug mode.
+  ## database_logging=false
+
   # Enable or disable backtrace for server error
   ## http_500_debug_mode=true
 

+ 7 - 0
desktop/core/src/desktop/conf.py

@@ -776,6 +776,13 @@ SEND_DBUG_MESSAGES = Config(
   default=False
 )
 
+DATABASE_LOGGING = Config(
+  key="database_logging",
+  help=_("Enable or disable database debug mode."),
+  type=coerce_bool,
+  default=False
+)
+
 DJANGO_ADMINS = UnspecifiedConfigSection(
   key="django_admins",
   help=_("Administrators that should receive error emails."),

+ 8 - 0
desktop/core/src/desktop/monkey_patches.py

@@ -20,8 +20,12 @@ import re
 from django.contrib.auth.models import User
 from django.core.validators import RegexValidator
 
+from django.db.backends import BaseDatabaseWrapper
+from django.db.backends.util import CursorWrapper
+
 from desktop.lib.django_util import get_username_re_rule
 
+
 def monkey_patch_username_validator():
   """
   In 1.6, the `User.username` field gained some validation rules to check that
@@ -41,3 +45,7 @@ def monkey_patch_username_validator():
 
 
 monkey_patch_username_validator()
+
+
+def disable_database_logging():
+  BaseDatabaseWrapper.make_debug_cursor = lambda self, cursor: CursorWrapper(cursor, self)

+ 9 - 1
desktop/core/src/desktop/settings.py

@@ -22,16 +22,20 @@
 
 import logging
 import os
-import sys
 import pkg_resources
+import sys
+
 from guppy import hpy
 
+
 import desktop.conf
 import desktop.log
 import desktop.redaction
+
 from desktop.lib.paths import get_desktop_root
 from desktop.lib.python_util import force_dict_to_strings
 
+
 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
 BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(os.path.dirname(__file__)), '..', '..', '..'))
 
@@ -388,3 +392,7 @@ os.environ['KRB5CCNAME'] = desktop.conf.KERBEROS.CCACHE_PATH.get()
 if desktop.conf.MEMORY_PROFILER.get():
   MEMORY_PROFILER = hpy()
   MEMORY_PROFILER.setrelheap()
+
+if not desktop.conf.DATABASE_LOGGING.get():
+  from desktop.monkey_patches import disable_database_logging
+  disable_database_logging()