[ZODB-Dev] iobtree has no attribute "keys"
Thomas Guettler
hv at tbz-pariv.de
Tue Mar 9 03:23:10 EST 2004
Am Montag, 8. März 2004 20:03 schrieben Sie:
> Thomas Guettler wrote at 2004-3-8 13:19 +0100:
> >Sometime I get this traceback:
> >
> >ids_dict.update(this_ids_dict)
> >
> >AttributeError: keys
> > ...
> >This only happens sometimes (not reproducable)
>
> I expect, that "this_ids_dict" is not an "IOBTree" when it happens...
I thought that first, too. But then cgitb is lieing. Here is the
text version of the cgitb traceback: (relevant part marked with ***)
AttributeError Python 2.3.2: /usr/bin/python2.3
Mon Mar 8 12:50:03 2004
A problem occurred in a Python script. Here is the sequence of function
calls leading up to the error, in the
order they occurred.
[1]/mnt/raid/modarch/workflow/python/lib/python2.3/site-packages/quixote/publish.py
in
publish(self=<ZEOClientPublisher.ZEOClientPublisher instance>, stdin=<open
file '<stdin>', mode 'r'>,
stdout=<open file '<stdout>', mode 'w'>, stderr=<open file '<stderr>', mode
'w'>, env={'AUTH_TYPE': 'Basic',
'HTTP_REFERER': 'https://...': 'QExd6gpyDTwAAAMMrFM', 'PATH_INFO':
'/search'})
557 except:
558 # Some other exception, generate error messages to the
logs, etc.
559 output = self.finish_failed_request(request)
560
561 # Output results from Response object
output undefined, self = <ZEOClientPublisher.ZEOClientPublisher instance>,
self.finish_failed_request = <bound
method
ZEOClientPublisher.finish_failed_r...<ZEOClientPublisher.ZEOClientPublisher
instance>>, request =
<quixote.http_request.HTTPRequest instance>
[2]/mnt/raid/modarch/workflow/python/lib/python2.3/site-packages/quixote/publish.py
in
process_request(self=<ZEOClientPublisher.ZEOClientPublisher instance>,
request=<quixote.http_request.HTTPRequest instance>, env={'AUTH_TYPE':
'Basic', 'HTTP_REFERER': 'https://...':
'QExd6gpyDTwAAAMMrFM', 'PATH_INFO': '/search'})
533 """
534 self._set_request(request)
535 output = self.try_publish(request, env.get('PATH_INFO', ''))
536 self.log_request(request)
537
output undefined, self = <ZEOClientPublisher.ZEOClientPublisher instance>,
self.try_publish = <bound method
ZEOClientPublisher.try_publish of <ZEOClientPublisher.ZEOClientPublisher
instance>>, request =
<quixote.http_request.HTTPRequest instance>, env = {'AUTH_TYPE': 'Basic',
'HTTP_REFERER': 'https://...':
'QExd6gpyDTwAAAMMrFM', 'PATH_INFO': '/search'}, env.get = <bound method
_Environ.get of {'AUTH_TYPE': 'Bas...:
'QExd6gpyDTwAAAMMrFM', 'PATH_INFO': '/search'}>
[3]/mnt/raid/modarch/workflow/lib/ZEOClientPublisher.py in
try_publish(self=<ZEOClientPublisher.ZEOClientPublisher instance>,
request=<quixote.http_request.HTTPRequest
instance>, path='/search')
213 self.connection.sync()
214 request.response = HTTPResponse() # reset response
object
215 time.sleep(1 + (random.random() * (i+1)))
216 else:
217 raise RuntimeError("too many conflict errors")
global time = <module 'time' from
'/usr/lib/python2.3/lib-dynload/time.so'>, time.sleep = <built-in function
sleep>, global random = <module 'random' from
'/usr/lib/python2.3/random.pyc'>, random.random = <built-in
method random of Random object>, i = 0
[4]/mnt/raid/modarch/workflow/python/lib/python2.3/site-packages/quixote/publish.py
in
try_publish(self=<ZEOClientPublisher.ZEOClientPublisher instance>,
request=<quixote.http_request.HTTPRequest
instance>, path='/search')
485 output = "SystemExit exception caught, shutting down"
486 self.log(output)
487 self.exit_now = 1
488
489 if output is None:
self = <ZEOClientPublisher.ZEOClientPublisher instance>, self.exit_now = 0
[5]/mnt/raid/modarch/workflow/lib/WorkflowServer.py in
search(self=<WorkflowServer instance at 405a8a40>,
request=<quixote.http_request.HTTPRequest instance>)
932
ids_rechnungsdatum.update(self.catalog.search_dict("rechnungsdatum",
933
rechnungsdatum_von,
934
rechnungsdatum_bis))
935 ids_buchungsdatum={}
936
ids_buchungsdatum.update(self.catalog.search_dict("buchungsdatum",
rechnungsdatum_bis = 1078786800
[6]/mnt/raid/modarch/workflow/lib/SearchCatalog.py in
search_dict(self=<SearchCatalog instance at 405a8b30>,
attr='rechnungsdatum', value=1076108400, maxvalue=1078786800)
396 # TODO hier tritt sporadisch der Fehler auf,
397 # dass this_ids_dict.keys nicht vorhanden ist
398 ids_dict.update(this_ids_dict)
399 return ids_dict
400
ids_dict = {2281: 1, 2378: 1, 2379: 1, 2396: 1, 2412: 1, 2419: 1, 2420: 1,
2425: 1, 2426: 1, 2427: 1, ...},
ids_dict.update = <built-in method update of dict object>,
*** this_ids_dict = <IOBTree object>***
AttributeError: keys
args = ('keys',)
More information about the ZODB-Dev
mailing list