Bug 1309614

Summary: UDP Syslog handler cannot log first message after reconnect
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Ondrej Lukas <olukas>
Component: LoggingAssignee: jboss-set
Status: CLOSED NOTABUG QA Contact: Nikoleta Hlavickova <nziakova>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: brian.stansberry, jperkins
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-19 08:02:36 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:
Attachments:
Description Flags
logging-deployment none

Description Ondrej Lukas 2016-02-18 09:57:52 UTC
In case when logging to syslog through UDP protocol is configured and syslog port becomes unreachable then after syslog restart first message can be thrown away. It happens when odd number of messages are attempted to be logged during syslog is unreachable. In is caused when port unreachable is returned during logging attempt, then another log attempt automatically fail even is syslog server has been started meanwhile.

How to reproduce:
1) Configure EAP to log some category to syslog through UDP:
            <syslog-handler name="SYSLOG">
                <server-address value="127.0.0.1"/>
                <hostname value="-"/>
                <port value="10514"/>
                <app-name value="JBossEAP"/>
                <formatter>
                    <syslog-format syslog-type="RFC5424"/>
                </formatter>
                <facility value="local-use-5"/>
            </syslog-handler>
...
            <logger category="org.jboss.as.test.integration.logging.operations">
                <level name="INFO"/>
                <handlers>
                    <handler name="SYSLOG"/>
                </handlers>
            </logger>

2) Start application server and syslog server.
3) Deploy logging servlet (see attachements) which makes one log when is accessed.
4) Access http://127.0.0.1:8080/logging-deployment/logger -> message is logged to syslog
5) Stop Syslog server
6) Access http://127.0.0.1:8080/logging-deployment/logger 0, 2, 4 times... (message is not logged to syslog since it is down)
7) Start Syslog server
8) Access http://127.0.0.1:8080/logging-deployment/logger -> message is logged to syslog (correct behavior)
9) Stop Syslog server
10) Access http://127.0.0.1:8080/logging-deployment/logger 1, 3, 5 times... (message is not logged to syslog since it is down)
11) Start Syslog server
12) Access http://127.0.0.1:8080/logging-deployment/logger -> message is NOT logged to syslog (wrong behavior)
13) Access http://127.0.0.1:8080/logging-deployment/logger again -> message is logged to syslog

Comment 1 Ondrej Lukas 2016-02-18 10:00:46 UTC
Created attachment 1128173 [details]
logging-deployment

Comment 2 Ondrej Lukas 2016-02-19 08:02:36 UTC
According to https://issues.jboss.org/browse/WFCORE-1403 this is expected behavior -> CLOSED as NOTABUG.