Python smtpd library can now log debug information to pykolab log stream (debug level 9)
Needs ReviewPublic

Authored by adomaitis on Jun 5 2019, 11:07 AM.



disable E221 lint check

Do not log some python smtpd channel messages when debug level 9 is enabled

Multiprocessing debug logging support, new wallace cmd parameter, more logging

Turns out python multiprocessing module can end up in a deadlock situation and wallace accepts messages, but does not start processing them. The real reason of deadlock is not yet known, but the solution is to have more processes started and allow each process to do more job (process more messages) before it is closed and new process added to the pool. That way there is a less chance of deadlock to happen. That is way new cmd parameter --threads is introduced.

Diff Detail

rP pykolab
Lint OK
No Unit Test Coverage
Build Status
Buildable 24740
Build 9614: arc lint + arc unit

Event Timeline

adomaitis requested review of this revision.Jun 5 2019, 11:07 AM
adomaitis created this revision.
adomaitis edited the summary of this revision. (Show Details)Jun 5 2019, 11:14 AM
machniak resigned from this revision.Jun 13 2019, 11:51 AM

It looks good, but I don't really know it does what it looks like it should be doing ;)


Will that not match e.g. "send something" line? I mean w/o the colon.

adomaitis added inline comments.Jun 13 2019, 12:50 PM

Third party python libs logs everything to stderr. To catch that we need a file type object which should redirect everything to pykolab logger. For some reason some libraries produce duplicated log messages. That makes reading logs confusing. The idea here is to filter out duplicated messages. So yes, "send something" should be caught, but as this is applied to log records going to stderr it should not filter anything produced by pykolab.logger .