Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
Professional Edition
-
CentOS 7, Python 3.4.5, PHP 7.2 from remirepo
Description
When the log file is a named fifo pipe or stdout (for injecting logs directly into journald) and the poller wrapper is running on Python 3, it fails with an "OSError: [Errno 29] Illegal seek" on the `f = open(log_path,'a')` line.
This is a known but unsolved python 3 bug as can be seen here https://bugs.python.org/issue27805 and https://bugs.python.org/issue20074.
The solution we used for now is to overwrite the open function to the open mode if appropriate, we did not want to modify the poller-wrapper directly to avoid issues with upgrades.
`python3 poller-wrapper-wrapper.py poller-wrapper.py -w 10`
poller-wrapper-wrapper.py is attached.