BIND 10 #1622: Ensure multiple processes log to same file when files are being rolled

BIND 10 Development do-not-reply at isc.org
Mon Jun 3 19:02:06 UTC 2013


#1622: Ensure multiple processes log to same file when files are being rolled
-------------------------------------+-------------------------------------
            Reporter:  stephen       |                        Owner:
                Type:  defect        |  jinmei
            Priority:  medium        |                       Status:
           Component:  logging       |  reviewing
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130611
         Sub-Project:  Core          |                   Resolution:
Estimated Difficulty:  6             |                 CVSS Scoring:
         Total Hours:  0.91          |              Defect Severity:
                                     |  Medium
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Replying to [comment:33 jreed]:
 > I still have a problem:
 >
 > Some log files still out of order:
 > {{{
 > -rw-r--r--  1 root  reed  1050197 Jun  3 11:35 bind10.log.1
 > -rw-r--r--  1 root  reed  1049479 Jun  3 13:03 bind10.log.13
 > -rw-r--r--  1 root  reed    22216 Jun  3 13:04 bind10.log
 > }}}
 >
 > The last two lines in the .13 log file are:
 > {{{
 > 2013-05-30 23:27:54.052 DEBUG [b10-zonemgr.zonemgr/11742]
 ZONEMGR_REFRESH_ZONE refreshing zone foo. (class IN)
 > 2013-06-03 13:03:16.463 DEBUG [b10-cmdctl.cmdctl/12565]
 CMDCTL_SEND_COMMAND sending command shutdown to module Cmdctl
 > }}}
 >
 > For some reason "DEBUG [b10-cmdctl.cmdctl/12565] CMDCTL_SEND_COMMAND"
 was sent to wrong destination.
 > And see this inode:

 I suspect it's a log4cplus bug (or an odd "feature").  It first
 appends data to the "current" file and then check if it needs to roll
 over it:

 {{{#!cpp
 void
 RollingFileAppender::append(const spi::InternalLoggingEvent& event)
 {
     FileAppender::append(event);

     if(out.tellp() > maxFileSize) {
         rollover(true);
     }
 }
 }}}

 I suggest you check if it has been fixed in a new version and if not
 report it to the log4cplus developer.

 > And from fstat (same inode):
 > {{{
 > root     python3.3  23304    8 /        1630925 -rw-r--r--  1049479 w
 > root     python3.3   6330    7 /        1630925 -rw-r--r--  1049479 w
 > root     python3.3   7269    8 /        1630925 -rw-r--r--  1049479 w
 > }}}
 >
 > Those three PIDs that have old log file still opened are b10-stats-
 httpd,  b10-ddns, and b10-cfgmgr.

 That's not necessarily a problem.  I suspect they've simply not been
 dumping logs while the files are rolled over.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1622#comment:34>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list