Bug 1419228
| Summary: | rsyslog imjournal module no longer receives logs after switch to persistent journald configuration | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Greg Bailey <gbailey> | ||||
| Component: | rsyslog | Assignee: | Radovan Sroka <rsroka> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Karel Srot <ksrot> | ||||
| Severity: | medium | Docs Contact: | Vladimír Slávik <vslavik> | ||||
| Priority: | unspecified | ||||||
| Version: | 7.3 | CC: | dkopecek, jvymazal, ksrot, pasik, pportant, rsroka, sdordevi | ||||
| Target Milestone: | rc | Keywords: | Triaged | ||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | rsyslog-8.24.0-10.el7 | Doc Type: | Enhancement | ||||
| Doc Text: |
Feature: Make imjournal to be more robust and to be able to handle switching between runtime and persistent Journal.
Reason: When Journal was switched imjournal stops logging at all.
Result: The imjournal module can handle switching from runtime to persistent Journal without restarting rsyslog.service and removing statefile.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2017-08-01 09:56:22 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 1446140 | ||||||
| Bug Blocks: | 1420851 | ||||||
| Attachments: |
|
||||||
|
Description
Greg Bailey
2017-02-04 00:45:13 UTC
Created attachment 1262471 [details]
rsyslog patch
Hi Radovan, could you please describe in more detail what changes for rsyslog when persistent journald storage is configured? Does rsyslog continue reading messages from the socket? Is it really expected that rsyslog would handle this configuration change without a restart? Thank you. (In reply to Karel Srot from comment #4) > Hi Radovan, > could you please describe in more detail what changes for rsyslog when > persistent journald storage is configured? Does rsyslog continue reading > messages from the socket? Is it really expected that rsyslog would handle > this configuration change without a restart? > Thank you. Hi Karel, when we are switching journal between runtime and persistent, it changes file descriptor/s so imjournal is not able to read anything and it polls forever. This patch handles return values from journal API better and after systemd fix above imjournal is able to distinguish whether journal changed file descriptor/s or not. I think that is a bug but tolerated one so far. It could be simply tested like in description. After switching journal files, rsyslog is trying to apply last valid cursor from statefile so few messages can appear again it depends on persist state interval. It is because when rsyslog find out that journal has been changed it is impossible to get cursor. Journal structure is something like undefined so this is why we are using last valid cursor form statefile. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2306 |