Comment 6 for bug 1075463

Revision history for this message
Lianhao Lu (lianhao-lu) wrote :

For the collector issue, it seems to me that this is caused by conn.declare_topic_consumer() in CollectorService.start() after calling conn.consume_in_thread() in rpc.Service.start().

I've tried to unwrap all the start() functions in CollectorService's ancestors, and move conn.consume_in_thread() to the very last in start(), and the issue seems gone.

To fix this issue, we may either
1. modify the common.rpc.Service.start() to add a hook to declare additional consumer before calling consume_in_thread().
2. drop the rpc.Service dependency and unwrap ancestors' start() into CollectorService's own.
3. use a different RPC connection object for CollectorService's own consumers.

Any suggestions?