Bug #9046

[PATCH] Inter-process locking for log rotation is required

Added by Naotoshi Seo almost 2 years ago. Updated almost 2 years ago.

[ruby-dev:47769]
Status:Closed
Priority:Normal
Assignee:-
ruby -v:ruby 2.1.0dev (2013-10-20 trunk 43373) [x86_64-darwin12.2.1] Backport:1.9.3: UNKNOWN, 2.0.0: UNKNOWN

Description

I sent a pull request on https://github.com/ruby/ruby/pull/428 . Please see details on it.


Related issues

Related to Ruby trunk - Bug #9130: logger continues to write in old log file after rotation Closed 11/20/2013

Associated revisions

Revision 43511
Added by Yui NARUSE almost 2 years ago

Revision 43511
Added by Yui NARUSE almost 2 years ago

Revision 43513
Added by Nobuyoshi Nakada almost 2 years ago

logger.rb: fix r43511 for Windows

  • lib/logger.rb (Logger::LogDevice::LogDeviceMutex#lock_shift_log): open file can't be removed or renamed on Windows. [Bug #9046]
  • test/logger/test_logger.rb (TestLogDevice#run_children): don't use fork.

Revision 43513
Added by Nobuyoshi Nakada almost 2 years ago

logger.rb: fix r43511 for Windows

  • lib/logger.rb (Logger::LogDevice::LogDeviceMutex#lock_shift_log): open file can't be removed or renamed on Windows. [Bug #9046]
  • test/logger/test_logger.rb (TestLogDevice#run_children): don't use fork.

History

#1 Updated by Shyouhei Urabe almost 2 years ago

  • Description updated (diff)

#2 Updated by Yui NARUSE almost 2 years ago

The point "current implementation is wrong on multi-process environment" sounds reasonable and need to fix.

I commented some implementation points to the pull request.

#3 Updated by Yui NARUSE almost 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r43511.
Naotoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


#4 Updated by Nobuyoshi Nakada almost 2 years ago

  • Status changed from Closed to Open
  • Priority changed from Normal to 5
  • % Done changed from 100 to 0

=begin
It broke on Windows.

  • don't use fork.
  • don't assume that open file can be removed or renamed.

I'll try to fix or revert it.
=end

#5 Updated by Nobuyoshi Nakada almost 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r43513.
Naotoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


logger.rb: fix r43511 for Windows

  • lib/logger.rb (Logger::LogDevice::LogDeviceMutex#lock_shift_log): open file can't be removed or renamed on Windows. [Bug #9046]
  • test/logger/test_logger.rb (TestLogDevice#run_children): don't use fork.

Also available in: Atom PDF