Commit 89178443 authored by matt@zope.com's avatar matt@zope.com

Updated traversal hook to shut up on failures after a few have been logged.

parent bd9013f6
...@@ -233,15 +233,23 @@ class SessionDataManagerTraverser(NameCaller): ...@@ -233,15 +233,23 @@ class SessionDataManagerTraverser(NameCaller):
def __init__(self, requestSessionName, sdm): def __init__(self, requestSessionName, sdm):
self._requestSessionName = requestSessionName self._requestSessionName = requestSessionName
self._sessionDataManager = sdm self._sessionDataManager = sdm
self._v_errors=0
def __call__(self, container, request): def __call__(self, container, request):
sdm = self._sessionDataManager.__of__(container) sdm = self._sessionDataManager.__of__(container)
# Yank our session & stuff into request # Yank our session & stuff into request
try: try:
session = sdm.getSessionData() session = sdm.getSessionData()
self._v_errors = 0
except: except:
LOG('Session Tracking', WARNING, 'Session automatic traversal ' errors = getattr(self,"_v_errors", 0)
'failed to get session data', error=sys.exc_info()) if errors < 4:
LOG('Session Tracking', WARNING, 'Session automatic traversal '
'failed to get session data', error=sys.exc_info())
if errors == 3:
LOG('Session Tracking', WARNING, 'Suppressing further '
'automatic session failure error messages on this thread')
self._v_errors = errors + 1
return # Throw our hands up but dont fail return # Throw our hands up but dont fail
if self._requestSessionName is not None: if self._requestSessionName is not None:
request[self._requestSessionName] = session request[self._requestSessionName] = session
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment