I wrote a logging patch
http://pastebin.com/3iWnDAb2
wchich writes more info about this error conditions.
The most important result would be:
    Module satchmo_shop.store.config is/is_not imported
Additional:
    List of loaded config GROUPS: Are they the same as in /settings/ ?
    List of imported config modules: Are they the same as usual?

Can you reproduce it easy on other machine with demo shop + apache +
uwsgi?
(I do not use apache for python, so I do not have time for apache this
week.)

On 11 lis, 01:21, Ragi Burhum <[email protected]> wrote:
> Hello Hynek,
>
> Tried exporting the settings and adding them to my settings.py. I also
> updated to the latest django-livesettings from the repo using:
>
> pip install -e hg+http://bitbucket.org/bkroeze/django-livesettings/
> #egg=django-livesettings --upgrade
>
> Still hit the same error. I am using apache bench to reproduce it.
>
> ab -n 150 -c 100http://www.my-test-site.com/accounts/login/?next=/
>
> Any other suggestions?
>
> Thanks for the help!
>
> - Ragi
>
> On Nov 10, 9:56 am, hynekcer <[email protected]> wrote:
>
>
>
>
>
>
>
> > I offer a temporary solution for your problem under high load:
>
> > Go tohttp://www.my_test_site.com/settings/export/
> > (or use "Export" link on the settings page)
> > Copy & paste the result to your settings.py
> > It is notable that there is also a key-value pair: "'DB': False"
> > So livesettings would be read very fast directly the from the exported
> > values without need to wait for solving modules loading dependencies
> > etc.
> > You can read more in the documentation "Exporting 
> > Settings"https://bitbucket.org/bkroeze/django-livesettings/src/tip/docs/usage.rst
>
> > Please use the latest version of livesettings for sure. There was an
> > important fix on September 21th for server process initialization. It
> > also improved error logging but I am afraid it is not enough for your
> > error.
>
> > I expect that "multithread" is an imortant circumstance.
> > What is your deployment and the minimal and maximal number of django
> > processes are running? What if you set both numbers the same?
> > (increase the minimal)
>
> > Is not the *high load* so high that timeouts or deadlock are possible
> > or response times are always acceptable and only more processes/
> > threads are started/restarted exactly at the same time +-  < 0.5 sec?
>
> > I would like if you later can test a new solution again with
> > livesettings db storage enabled ('DB': True) after I investigate the
> > cause and write a patch.
>
> > -- Hynek
>
> > On 10 lis, 03:29, Ragi Burhum <[email protected]> wrote:
>
> > > Hello list,
>
> > > I am seeing an intermittent error that only appears every once in
> > > awhile related to django-livesettings.
>
> > > Call stack below:
>
> > > Traceback (most recent call last):
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/core/handlers/base.py", line 101, in get_response
> > >    request.path_info)
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/core/urlresolvers.py", line 250, in resolve
> > >    for pattern in self.url_patterns:
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/core/urlresolvers.py", line 279, in _get_url_patterns
> > >    patterns = getattr(self.urlconf_module, "urlpatterns",
> > > self.urlconf_module)
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/core/urlresolvers.py", line 274, in _get_urlconf_module
> > >    self._urlconf_module = import_module(self.urlconf_name)
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/utils/importlib.py", line 35, in import_module
> > >    __import__(name)
>
> > >  File "/srv/my_test_site/my_test_site/server/my_test_site/urls.py",
> > > line 5, in <module>
> > >    from satchmo_store.urls import urlpatterns as satchmo_urlpatterns
>
> > >  File "/srv/my_test_site/my_test_site_env/src/satchmo/satchmo/apps/
> > > satchmo_store/urls/__init__.py", line 28, in <module>
> > >    from default import urlpatterns as defaultpatterns
>
> > >  File "/srv/my_test_site/my_test_site_env/src/satchmo/satchmo/apps/
> > > satchmo_store/urls/default.py", line 9, in <module>
> > >    admin.autodiscover()
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/contrib/admin/__init__.py", line 26, in autodiscover
> > >    import_module('%s.admin' % app)
>
> > >  File "/srv/my_test_site/my_test_site_env/lib/python2.6/site-packages/
> > > django/utils/importlib.py", line 35, in import_module
> > >    __import__(name)
>
> > >  File "/srv/my_test_site/my_test_site_env/src/satchmo/satchmo/apps/
> > > product/admin.py", line 129, in <module>
> > >    class CategoryOptions(admin.ModelAdmin):
>
> > >  File "/srv/my_test_site/my_test_site_env/src/satchmo/satchmo/apps/
> > > product/admin.py", line 131, in CategoryOptions
> > >    if config_value('SHOP','SHOW_SITE'):
>
> > >  File "/srv/my_test_site/my_test_site_env/src/django-livesettings/
> > > livesettings/functions.py", line 204, in config_value
> > >    return config_get(group, key).value
>
> > >  File "/srv/my_test_site/my_test_site_env/src/django-livesettings/
> > > livesettings/functions.py", line 149, in config_get
> > >    return ConfigurationSettings().get_config(group, key)
>
> > >  File "/srv/my_test_site/my_test_site_env/src/django-livesettings/
> > > livesettings/functions.py", line 66, in get_config
> > >    raise SettingNotSet('%s config group does not exist' % group)
>
> > > SettingNotSet: ('SHOP config group does not exist', None)
>
> > > <WSGIRequest
> > > GET:<QueryDict: {}>,
> > > POST:<QueryDict: {}>,
> > > COOKIES:{},
> > > META:{'DOCUMENT_ROOT': '/htdocs',
> > >  'GATEWAY_INTERFACE': 'CGI/1.1',
> > >  'HTTP_ACCEPT_CHARSET': 'utf-8,ISO-8859-1;q=0.5',
> > >  'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
> > >  'HTTP_HOST': 'www.my_test_site.com',
> > >  'HTTP_USER_AGENT': 'Mozilla/5.0 (compatible; Wasitup 
> > > monitoring;http://wasitup.com)',
> > >  'PATH': '/usr/local/bin:/usr/bin:/bin',
> > >  'PATH_INFO': u'/',
> > >  'PATH_TRANSLATED': '/srv/my_test_site/my_test_site/server/
> > > my_test_site/conf/my_test_site.wsgi/',
> > >  'QUERY_STRING': '',
> > >  'REMOTE_ADDR': '178.79.135.13',
> > >  'REMOTE_PORT': '56323',
> > >  'REQUEST_METHOD': 'HEAD',
> > >  'REQUEST_URI': '/',
> > >  'SCRIPT_FILENAME': '/srv/my_test_site/my_test_site/server/
> > > my_test_site/conf/my_test_site.wsgi',
> > >  'SCRIPT_NAME': u'',
> > >  'SERVER_ADDR': '10.82.154.159',
> > >  'SERVER_ADMIN': 'ragi@my_test_site.com',
> > >  'SERVER_NAME': 'www.my_test_site.com',
> > >  'SERVER_PORT': '80',
> > >  'SERVER_PROTOCOL': 'HTTP/1.1',
> > >  'SERVER_SIGNATURE': '<address>Apache/2.2.14 (Ubuntu) Server 
> > > atwww.my_test_site.comPort80</address>\n',
> > >  'SERVER_SOFTWARE': 'Apache/2.2.14 (Ubuntu)',
> > >  'mod_wsgi.application_group': 'www.my_test_site.com|',
> > >  'mod_wsgi.callable_object': 'application',
> > >  'mod_wsgi.listener_host': '',
> > >  'mod_wsgi.listener_port': '80',
> > >  'mod_wsgi.process_group': '',
> > >  'mod_wsgi.reload_mechanism': '0',
> > >  'mod_wsgi.script_reloading': '1',
> > >  'mod_wsgi.version': (2, 8),
> > >  'wsgi.errors': <mod_wsgi.Log object at 0x7f455fa71de0>,
> > >  'wsgi.file_wrapper': <built-in method file_wrapper of
> > > mod_wsgi.Adapter object at 0x7f455fc9e198>,
> > >  'wsgi.input': <mod_wsgi.Input object at 0x7f455fc8f670>,
>
> > >  'wsgi.multiprocess': True,
> > >  'wsgi.multithread': True,
> > >  'wsgi.run_once': False,
> > >  'wsgi.url_scheme': 'http',
> > >  'wsgi.version': (1, 0)}>
>
> > > There is a particular condition that is causing livesettings to not
> > > find SHOP as defined, and if I go towww.my_test_site.com/settingsit
> > > may or may not error out. It appears to be a race condition of some
> > > sort. Sadly, I cannot reproduce the bug unless I hit it with a high
> > > load. In those situations, I can get a smaller subset of the requests
> > > as errors - and it can happen in any page, but the stack trace is the
> > > same.
>
> > > I tried different version of django-livesettings. I have tried django-
> > > livesettings-1-4-7 and 1-4-9
>
> > > Any pointers as to what may cause fetching the settings fail under
> > > high load?
>
> > > Thanks,
>
> > > - Ragi

-- 
You received this message because you are subscribed to the Google Groups 
"Satchmo users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/satchmo-users?hl=en.

Reply via email to