Skip to content Skip to navigation

JIRA Issue

[#XCI-375] Fix non-primary DB error: User query might have needed to see row versions that must be removed.

[XCI-375] Fix non-primary DB error: User query might have needed to see row versions that must be removed. Created: 05/02/2018  Updated: 07/12/2018

Status: Proposed
Project: XSEDE Cyberinfrastructure Integration
Component/s: None
Fix Version/s: None

Type: Task Priority: Major
Reporter: Eric Blau Assignee: Unassigned
Resolution: Unresolved Votes: 0

XSEDE Priority: -
Public activity link: https://software.xsede.org/display/xci-375
Track status in meeting: no

 Description   

When a non-primary DB gets lots of queries (because it is a primary HTTPS server), it sometimes gives an error: User query might have needed to see row versions that must be removed.

Restarting the (non-primary) DB might help, still need to confirm.

It might also help to do:

{{# /etc/postgresql/10/main/postgresql.conf on a slave max_standby_archive_delay = 900s }}

max_standby_streaming_delay = 900s

but we haven't tried that.

(https://stackoverflow.com/questions/14592436/postgresql-error-canceling-statement-due-to-conflict-with-recovery)

 

 

Internal Server Error: /wh1/rdr-db/v2/rdr-xup/

 

OperationalError at /rdr-db/v2/rdr-xup/

canceling statement due to conflict with recovery

DETAIL:  User query might have needed to see row versions that must be removed.

 

 

Request Method: GET

Request URL: https://info.xsede.org/wh1/rdr-db/v2/rdr-xup/

Django Version: 1.11.11

Python Executable: /usr/bin/python

Python Version: 2.7.14

Python Path: ['/soft/warehouse-1.0/PROD/django_xsede_warehouse', '/soft/python-current/lib/python27.zip', '/soft/python-current/lib/python2.7', '/soft/python-current/lib/python2.7/plat-linux2', '/soft/python-current/lib/python2.7/lib-tk', '/soft/python-current/lib/python2.7/lib-old', '/soft/python-current/lib/python2.7/lib-dynload', '/soft/python-current/lib/python2.7/site-packages']

Server time: Mon, 30 Apr 2018 16:39:12 +0000

Installed Applications:

('django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework',

'rest_framework_swagger',

'corsheaders',

'glue2_db',

'glue2_db_api',

'glue2_provider',

'glue2_views_api',

'monitoring_db.apps.MonitoringDbConfig',

'monitoring_db_api.apps.MonitoringDbApiConfig',

'monitoring_provider.apps.MonitoringProviderConfig',

'monitoring_views_api.apps.MonitoringViewsApiConfig',

'rdr_db',

'xcsr_db',

'goendpoint_api',

'resource_cat',

'resource_status_api',

'warehouse_views',

'xdcdb',

'xdinfo',

'speedpage',

'outages',

'projectresources',

'processing_status')

Installed Middleware:

('django.contrib.sessions.middleware.SessionMiddleware',

'corsheaders.middleware.CorsMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

'django.middleware.security.SecurityMiddleware')

 

 

Traceback:  

 

File "/soft/python-current/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner

 41.             response = get_response(request)

 

File "/soft/python-current/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response

 249.             response = self._get_response(request)

 

File "/soft/python-current/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response

 187.                 response = self.process_exception_by_middleware(e, request)

 

File "/soft/python-current/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response

 185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

 

File "/soft/python-current/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view

 58.         return view_func(*args, **kwargs)

 

File "/soft/python-current/lib/python2.7/site-packages/django/views/generic/base.py" in view

 68.             return self.dispatch(request, *args, **kwargs)

 

File "/soft/python-current/lib/python2.7/site-packages/rest_framework/views.py" in dispatch

 489.             response = self.handle_exception(exc)

 

File "/soft/python-current/lib/python2.7/site-packages/rest_framework/views.py" in handle_exception

 449.             self.raise_uncaught_exception(exc)

 

File "/soft/python-current/lib/python2.7/site-packages/rest_framework/views.py" in dispatch

 486.             response = handler(request, *args, **kwargs)

 

File "/soft/warehouse-1.0/PROD/django_xsede_warehouse/rdr_db/views_v2.py" in get

 28.             return Response(serializer.data)

 

File "/soft/python-current/lib/python2.7/site-packages/rest_framework/serializers.py" in data

 739.         ret = super(ListSerializer, self).data

 

File "/soft/python-current/lib/python2.7/site-packages/rest_framework/serializers.py" in data

 263.                 self._data = self.to_representation(self.instance)

 

File "/soft/python-current/lib/python2.7/site-packages/rest_framework/serializers.py" in to_representation

 657.             self.child.to_representation(item) for item in iterable

 

File "/soft/python-current/lib/python2.7/site-packages/django/db/models/query.py" in _iter_

 250.         self._fetch_all()

 

File "/soft/python-current/lib/python2.7/site-packages/django/db/models/query.py" in _fetch_all

 1118.             self._result_cache = list(self._iterable_class(self))

 

File "/soft/python-current/lib/python2.7/site-packages/django/db/models/query.py" in _iter_

 53.         results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)

 

File "/soft/python-current/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql

 899.             raise original_exception

 

Exception Type: OperationalError at /rdr-db/v2/rdr-xup/

Exception Value: canceling statement due to conflict with recovery

DETAIL:  User query might have needed to see row versions that must be removed.

 

Request information:

USER: AnonymousUser

 

GET: No GET data

 

POST: No POST data

 

FILES: No FILES data

 

COOKIES: No cookie data

 

META:

CONTENT_TYPE = 'application/json'

DOCUMENT_ROOT = '/soft/info.xsede.org'

GATEWAY_INTERFACE = 'CGI/1.1'

HTTP_CONNECTION = 'close'

HTTP_FRONT_END_HTTPS = 'on'

HTTP_HOST = 'info.xsede.org'

PATH_INFO = u'/rdr-db/v2/rdr-xup/'

PATH_TRANSLATED = '/soft/info.xsede.org/rdr-db/v2/rdr-xup/'

QUERY_STRING = ''

REMOTE_ADDR = '129.114.97.34'

REMOTE_PORT = '46710'

REQUEST_METHOD = 'GET'

REQUEST_URI = '/wh1/rdr-db/v2/rdr-xup/'

SCRIPT_FILENAME = '/soft/warehouse-1.0/sbin/wsgi_prod.py'

SCRIPT_NAME = u'/wh1'

SERVER_ADDR = '192.249.6.5'

SERVER_ADMIN = 'info-serv-admin@xsede.org'

SERVER_NAME = 'info.xsede.org'

SERVER_PORT = '443'

SERVER_PROTOCOL = 'HTTP/1.1'

SERVER_SIGNATURE = '<address>Apache Server at info.xsede.org Port 443</address>\n'

SERVER_SOFTWARE = 'Apache'

SSL_TLS_SNI = 'info.xsede.org'

apache.version = u'(2, 2, 15)'

mod_wsgi.application_group = 'warehouse_django'

mod_wsgi.callable_object = 'application'

mod_wsgi.daemon_connects = '1'

mod_wsgi.daemon_restarts = '0'

mod_wsgi.daemon_start = '1525106352532663'

mod_wsgi.enable_sendfile = '0'

mod_wsgi.handler_script = ''

mod_wsgi.ignore_activity = '0'

mod_wsgi.listener_host = ''

mod_wsgi.listener_port = '443'

mod_wsgi.path_info = '/rdr-db/v2/rdr-xup/'

mod_wsgi.process_group = 'info.xsede.org'

mod_wsgi.queue_start = '1525106352532535'

mod_wsgi.request_handler = 'wsgi-script'

mod_wsgi.request_start = '1525106352532339'

mod_wsgi.script_name = '/wh1'

mod_wsgi.script_reloading = '1'

mod_wsgi.script_start = '1525106352532690'

mod_wsgi.thread_id = 7

mod_wsgi.thread_requests = 97660L

mod_wsgi.total_requests = 780852L

mod_wsgi.version = u'(4, 5, 24)'

wsgi.errors = <mod_wsgi.Log object at 0x7f20038f5350>

wsgi.file_wrapper = ''

wsgi.input = <mod_wsgi.Input object at 0x7f1ff3be1dc0>

wsgi.input_terminated = True

wsgi.multiprocess = True

wsgi.multithread = True

wsgi.run_once = False

wsgi.url_scheme = 'https'

wsgi.version = u'(1, 0)'

 

Settings:

Using settings module xsede_warehouse.settings

ABSOLUTE_URL_OVERRIDES = {}

ADMINS = u"(('JP Navarro', 'navarro@mcs.anl.gov'), ('Eric Blau', 'blau@mcs.anl.gov'))"

ALLOWED_HOSTS = [u'*']

API_BASE = u'********************'

APPEND_SLASH = True

AUTHENTICATION_BACKENDS = [u'django.contrib.auth.backends.ModelBackend']

AUTH_PASSWORD_VALIDATORS = u'********************'

AUTH_USER_MODEL = u'auth.User'

BASE_DIR = '/soft/warehouse-1.0/PROD/django_xsede_warehouse'

CACHES = {'default': {'LOCATION': 'my-cache', 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}

CACHE_MIDDLEWARE_ALIAS = u'default'

CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'

CACHE_MIDDLEWARE_SECONDS = 600

CONF = {u'SYSLOG_SOCK': u'/dev/log', u'DB_LOG': u'/var/log/django/xsede_warehouse_api.db.log', u'GLUE2_PASS': u'*******************', u'API_BASE': u'******************', u'G2_LOG': u'/var/log/django/xsede_warehouse_api.log', u'SUB_SITE': u'wh1/', u'XCSR_PASS': u'******************', u'ALLOWED_HOSTS': [u'*'], u'DEBUG': False, u'DB_HOSTNAME_READ': u'', u'DJANGO_PASS': u'*******************', u'DB_HOSTNAME_WRITE': u'infodb.xsede.org'}

CORS_ALLOW_METHODS = 'GET'

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = u"('xsede.org', 'www.xsede.org', 'portal.xsede.org', 'resttesttest.com', 'test-cors.org')"

CSRF_COOKIE_AGE = 31449600

CSRF_COOKIE_DOMAIN = None

CSRF_COOKIE_HTTPONLY = False

CSRF_COOKIE_NAME = u'csrftoken'

CSRF_COOKIE_PATH = u'/'

CSRF_COOKIE_SECURE = False

CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure'

CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN'

CSRF_TRUSTED_ORIGINS = []

CSRF_USE_SESSIONS = False

DATABASES = {'xcsr': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'warehouse', 'CONN_MAX_AGE': 600, 'TIME_ZONE': None, 'PORT': '', 'HOST': u'infodb.xsede.org', 'USER': 'xcsr_owner', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'*******************', 'OPTIONS': {}}, 'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'warehouse', 'CONN_MAX_AGE': 600, 'TIME_ZONE': None, 'PORT': '', 'HOST': u'infodb.xsede.org', 'USER': 'django_owner', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'******************', 'OPTIONS': {}}, 'glue2': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'warehouse', 'CONN_MAX_AGE': 600, 'TIME_ZONE': None, 'PORT': '', 'HOST': u'infodb.xsede.org', 'USER': 'glue2_owner', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'******************', 'OPTIONS': {}}, 'xcsr.read': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'warehouse', 'CONN_MAX_AGE': 600, 'TIME_ZONE': None, 'PORT': '', 'HOST': u'', 'USER': 'xcsr_owner', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'******************', 'OPTIONS': {}}, 'glue2.read': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'warehouse', 'CONN_MAX_AGE': 600, 'TIME_ZONE': None, 'PORT': '', 'HOST': u'', 'USER': 'glue2_owner', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'******************', 'OPTIONS': {}}, 'default.read': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'warehouse', 'CONN_MAX_AGE': 600, 'TIME_ZONE': None, 'PORT': '', 'HOST': u'', 'USER': 'django_owner', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'*******************', 'OPTIONS': {}}}

DATABASE_ROUTERS = ['xsede_warehouse.router.ModelDatabaseRouter']

DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440

DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000

DATETIME_FORMAT = u'N j, Y, P'

DATETIME_INPUT_FORMATS = [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y']

DATE_FORMAT = u'N j, Y'

DATE_INPUT_FORMATS = [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y']

DEBUG = False

DEBUG_PROPAGATE_EXCEPTIONS = False

DECIMAL_SEPARATOR = u'.'

DEFAULT_CHARSET = u'utf-8'

DEFAULT_CONTENT_TYPE = u'text/html'

DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter'

DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage'

DEFAULT_FROM_EMAIL = u'webmaster@localhost'

DEFAULT_INDEX_TABLESPACE = u''

DEFAULT_LOG = 'syslog'

DEFAULT_TABLESPACE = u''

DISALLOWED_USER_AGENTS = []

EMAIL_BACKEND = u'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = u'localhost'

EMAIL_HOST_PASSWORD = u'********************'

EMAIL_HOST_USER = u''

EMAIL_PORT = 25

EMAIL_SSL_CERTFILE = None

EMAIL_SSL_KEYFILE = u'********************'

EMAIL_SUBJECT_PREFIX = u'[Django] '

EMAIL_TIMEOUT = None

EMAIL_USE_LOCALTIME = False

EMAIL_USE_SSL = False

EMAIL_USE_TLS = False

FILE_CHARSET = u'utf-8'

FILE_UPLOAD_DIRECTORY_PERMISSIONS = None

FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler']

FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440

FILE_UPLOAD_PERMISSIONS = None

FILE_UPLOAD_TEMP_DIR = None

FIRST_DAY_OF_WEEK = 0

FIXTURE_DIRS = []

FORCE_SCRIPT_NAME = None

FORMAT_MODULE_PATH = None

FORM_RENDERER = u'django.forms.renderers.DjangoTemplates'

IGNORABLE_404_URLS = []

INSTALLED_APPS = u"('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework_swagger', 'corsheaders', 'glue2_db', 'glue2_db_api', 'glue2_provider', 'glue2_views_api', 'monitoring_db.apps.MonitoringDbConfig', 'monitoring_db_api.apps.MonitoringDbApiConfig', 'monitoring_provider.apps.MonitoringProviderConfig', 'monitoring_views_api.apps.MonitoringViewsApiConfig', 'rdr_db', 'xcsr_db', 'goendpoint_api', 'resource_cat', 'resource_status_api', 'warehouse_views', 'xdcdb', 'xdinfo', 'speedpage', 'outages', 'projectresources', 'processing_status')"

INTERNAL_IPS = []

LANGUAGES = [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')]

LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur']

LANGUAGE_CODE = 'en-us'

LANGUAGE_COOKIE_AGE = None

LANGUAGE_COOKIE_DOMAIN = None

LANGUAGE_COOKIE_NAME = u'django_language'

LANGUAGE_COOKIE_PATH = u'/'

LOCALE_PATHS = []

LOGGING = {'loggers': {'django.request': {'handlers': ['mail_admins', 'syslog'], 'propagate': True, 'level': 'ERROR'}, 'django.db.backends': {'level': 'WARNING', 'handlers': ['dbfile']}, 'xsede.glue2': {'level': 'INFO', 'handlers': ['g2file']}}, 'disable_existing_loggers': False, 'handlers': {'syslog': {'level': 'WARNING', 'formatter': 'syslog', 'class': 'logging.handlers.SysLogHandler', 'address': u'/dev/log', 'facility': 18}, 'dbfile': {'level': 'WARNING', 'class': 'logging.FileHandler', 'filename': u'/var/log/django/xsede_warehouse_api.db.log'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}, 'console': {'formatter': 'simple', 'class': 'logging.StreamHandler', 'filters': ['require_debug_true'], 'level': 'WARNING'}, 'g2file': {'utc': True, 'backupCount': 999, 'level': 'DEBUG', 'when': 'W6', 'filename': u'/var/log/django/xsede_warehouse_api.log', 'formatter': 'logfile', 'class': 'logging.handlers.TimedRotatingFileHandler'}}, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'syslog': {'format': 'weblate[%(process)d]: %(levelname)s %(message)s'}, 'logfile': {'format': '%(asctime)s %(levelname)s %(message)s'}, 'verbose': {'format': '[%(asctime)s] %(levelname)s %(message)s'}}, 'version': 1, 'filters': {'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}, 'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}}

LOGGING_CONFIG = u'logging.config.dictConfig'

LOGIN_REDIRECT_URL = u'/accounts/profile/'

LOGIN_URL = u'/accounts/login/'

LOGOUT_REDIRECT_URL = None

MANAGERS = []

MEDIA_ROOT = u''

MEDIA_URL = u''

MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage'

MIDDLEWARE = None

MIDDLEWARE_CLASSES = u"('django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware')"

MIGRATION_MODULES = {}

MONTH_DAY_FORMAT = u'F j'

NUMBER_GROUPING = 0

PASSWORD_HASHERS = u'********************'

PASSWORD_RESET_TIMEOUT_DAYS = u'********************'

PREPEND_WWW = False

READ_HOSTNAME = u''

REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.StaticHTMLRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', 'rest_framework_xml.renderers.XMLRenderer'], 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'], 'PAGINATE_BY': 10}

ROOT_URLCONF = 'xsede_warehouse.urls'

SECRET_KEY = u'********************'

SECURE_BROWSER_XSS_FILTER = False

SECURE_CONTENT_TYPE_NOSNIFF = False

SECURE_HSTS_INCLUDE_SUBDOMAINS = False

SECURE_HSTS_PRELOAD = False

SECURE_HSTS_SECONDS = 0

SECURE_PROXY_SSL_HEADER = None

SECURE_REDIRECT_EXEMPT = []

SECURE_SSL_HOST = None

SECURE_SSL_REDIRECT = False

SERVER_EMAIL = u'root@localhost'

SESSION_CACHE_ALIAS = u'default'

SESSION_COOKIE_AGE = 1209600

SESSION_COOKIE_DOMAIN = None

SESSION_COOKIE_HTTPONLY = True

SESSION_COOKIE_NAME = u'sessionid'

SESSION_COOKIE_PATH = u'/'

SESSION_COOKIE_SECURE = False

SESSION_ENGINE = u'django.contrib.sessions.backends.db'

SESSION_EXPIRE_AT_BROWSER_CLOSE = False

SESSION_FILE_PATH = None

SESSION_SAVE_EVERY_REQUEST = False

SESSION_SERIALIZER = u'django.contrib.sessions.serializers.JSONSerializer'

SETTINGS_MODULE = 'xsede_warehouse.settings'

SHORT_DATETIME_FORMAT = u'm/d/Y P'

SHORT_DATE_FORMAT = u'm/d/Y'

SIGNING_BACKEND = u'django.core.signing.TimestampSigner'

SILENCED_SYSTEM_CHECKS = []

STATICFILES_DIRS = u"('/soft/warehouse-1.0/PROD/django_xsede_warehouse/xsede_warehouse/../static',)"

STATICFILES_FINDERS = [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder']

STATICFILES_STORAGE = u'django.contrib.staticfiles.storage.StaticFilesStorage'

STATIC_ROOT = None

STATIC_URL = '/static/'

SWAGGER_SETTINGS = {'api_path': u'********************'}

TEMPLATES = [{'DIRS': ['/soft/warehouse-1.0/PROD/django_xsede_warehouse/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]

TEST_NON_SERIALIZED_APPS = []

TEST_RUNNER = u'django.test.runner.DiscoverRunner'

THOUSAND_SEPARATOR = u','

TIME_FORMAT = u'P'

TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']

TIME_ZONE = 'UTC'

USE_ETAGS = False

USE_I18N = True

USE_L10N = True

USE_THOUSAND_SEPARATOR = False

USE_TZ = True

USE_X_FORWARDED_HOST = False

USE_X_FORWARDED_PORT = False

WRITE_HOSTNAME = u'infodb.xsede.org'

WSGI_APPLICATION = 'xsede_warehouse.wsgi.application'

X_FRAME_OPTIONS = u'SAMEORIGIN'

YEAR_MONTH_FORMAT = u'F Y'



 Comments   

There are comments for XCI-375 that can be viewed with XSEDE authentication.