Project

Profile

Help

Issue #1270

closed

Gofer needs to gracefully deal with malformed messages

Added by jortel@redhat.com over 8 years ago. Updated almost 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
2.6.3
Platform Release:
2.6.5
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Gofer needs to gracefully deal with malformed messages. Somehow messages are being queued to pulp.task with a body=None.

Currently this causes a traceback.

Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) 'NoneType' object has no attribute 'version' 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) Traceback (most recent call last): 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) File "/usr/lib/python2.7/site-packages/gofer/messaging/adapter/model.py" , line 39, in _fn 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) return fn(*args, **keywords) 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) File "/usr/lib/python2.7/site-packages/gofer/messaging/adapter/model.py" , line 652, in next 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) validate(document) 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) File "/usr/lib/python2.7/site-packages/gofer/messaging/model.py", line 8 9, in validate 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) if document.version != VERSION: 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.adapter.model:ERROR: (734-0 8192) AttributeError: 'NoneType' object has no attribute 'version' 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) pulp.task 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) Traceback (most recent call last): 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) File "/usr/lib/python2.7/site-packages/gofer/messaging/consumer.py", line 88, in _read 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) message, document = self._reader.next(10) 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) File "/usr/lib/python2.7/site-packages/gofer/messaging/adapter/model.py", lin e 44, in _fn 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) raise ModelError(*e.args) 
Sep 18 10:00:00 satelliteprd01 pulp: gofer.messaging.consumer:ERROR: (734-08192) ModelError: 'NoneType' object has no attribute 'version'

The exception is treated as a connection error and gofer goes into connection repair. The malformed message is never dequeued/acknowledged which blocks subsequent messages from being processed.

This needs to be fixed in gofer upstream.

Also available in: Atom PDF