Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fluent/fluentd
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.16.10
Choose a base ref
...
head repository: fluent/fluentd
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.16.11
Choose a head ref
  • 11 commits
  • 15 files changed
  • 6 contributors

Commits on Nov 21, 2025

  1. Backport(v1.16): test_supervisor: use expected temporary directory fo…

    …r tests (#5102) (#5135)
    
    **Which issue(s) this PR fixes**:
    * Backport #5102
    
    **What this PR does / why we need it**:
    test_supervisor.rb uses a constant named `TMP_DIR`. However, the
    constant is not defined in this file, it is defined in another file.
    
    
    https://github.com/fluent/fluentd/blob/5a875090dde0222edf789422c7b2f27a828c72c3/test/config/test_dsl.rb#L5
    
    This PR will use expected temporary directory for tests.
    
    **Docs Changes**:
    N/A
    
    **Release Note**:
    N/A
    
    <!--
    Thank you for contributing to Fluentd!
    Your commits need to follow DCO: https://probot.github.io/apps/dco/
    And please provide the following information to help us make the most of
    your pull request:
    -->
    
    **Which issue(s) this PR fixes**: 
    Fixes #
    
    **What this PR does / why we need it**: 
    
    **Docs Changes**:
    
    **Release Note**:
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Nov 21, 2025
    Configuration menu
    Copy the full SHA
    6d26f8d View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2025

  1. Backport(v1.16): Add missing gem dependency on Ruby 3.4-dev (#5172)

    Backport #4411
    
    **Which issue(s) this PR fixes**: 
    N/A
    
    **What this PR does / why we need it**: 
    CI is failed on Ruby 3.4-dev:
    https://github.com/fluent/fluentd/actions/runs/7949585800
    
    **Docs Changes**:
    N/A
    
    **Release Note**: 
    N/A
    
    Signed-off-by: Takuro Ashie <[email protected]>
    Signed-off-by: Shizuo Fujita <[email protected]>
    Co-authored-by: Takuro Ashie <[email protected]>
    Watson1978 and ashie authored Dec 5, 2025
    Configuration menu
    Copy the full SHA
    5a49600 View commit details
    Browse the repository at this point in the history
  2. Backport(v1.16): test_supervisor: fix flaky tests for Win32 event (#5174

    ) (#5175)
    
    Backport #5174
    
    **Which issue(s) this PR fixes**:
    This patch will fix following failures on Windows with old Ruby (3.0,
    2.7).
    
    ```
    1) Failure: test_supervisor_event_handler(SupervisorTest): <false> is not true.
    D:/a/fluentd/fluentd/test/test_supervisor.rb:388:in `test_supervisor_event_handler'
         385: 
         386:     debug_msg = '[debug]: Got Win32 event "TestFluentdEvent_USR1"'
         387:     logs = $log.out.logs
      => 388:     assert{ logs.any?{|log| log.include?(debug_msg) } }
         389:   ensure
         390:     $log.out.reset if $log&.out&.respond_to?(:reset)
         391:   end
    
    2) Failure: test_windows_shutdown_event(SupervisorTest): <false> is not true.
    D:/a/fluentd/fluentd/test/test_supervisor.rb:362:in `test_windows_shutdown_event'
         359: 
         360:     debug_msg = '[debug]: Got Win32 event "TestFluentdEvent"'
         361:     logs = $log.out.logs
      => 362:     assert{ logs.any?{|log| log.include?(debug_msg) } }
         363:   ensure
         364:     $log.out.reset if $log&.out&.respond_to?(:reset)
         365:   end
    ```
    
    
    
    https://github.com/fluent/fluentd/actions/runs/19950323545/job/57208741261
    
    **What this PR does / why we need it**: 
    It seems we need to wait a bit to reliably capture events as logs.
    
    Similar to following codes, this also includes sleep.
    
    
    
    https://github.com/fluent/fluentd/blob/6d26f8de536601d9c192476f00cd22925a8882ad/test/test_supervisor.rb#L417-L421
    
    **Docs Changes**:
    N/A
    
    **Release Note**: 
    N/A
    
    <!--
    Thank you for contributing to Fluentd!
    Your commits need to follow DCO: https://probot.github.io/apps/dco/
    And please provide the following information to help us make the most of
    your pull request:
    -->
    
    **Which issue(s) this PR fixes**: 
    Fixes #
    
    **What this PR does / why we need it**: 
    
    **Docs Changes**:
    
    **Release Note**:
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Dec 5, 2025
    Configuration menu
    Copy the full SHA
    4ed7237 View commit details
    Browse the repository at this point in the history
  3. Backport(v1.16): Fix #4396: Add timeout to establish_connection to pr…

    …event infinite loop (#5104) (#5137)
    
    Backport #5104
    
    **Which issue(s) this PR fixes**:
    Fixes #4396
    
    **What this PR does / why we need it**:
    Adds timeout mechanism to `establish_connection` method to prevent
    infinite loop when handshake protocol gets stuck. In unstable network
    environments with proxy components, if connection drops during handshake
    after TLS establishment, Fluentd gets stuck in infinite loop causing
    logs to stop being flushed. This fix uses existing `hard_timeout`
    configuration to break the loop, disable problematic nodes, and maintain
    log flow through healthy nodes.
    
    **Docs Changes**:
    None required - uses existing `hard_timeout` configuration parameter.
    
    **Release Note**:
    Fix infinite loop in out_forward handshake protocol that could cause
    logs to stop being flushed in unstable network environments.
    
    Signed-off-by: Ian Driver <[email protected]>
    Signed-off-by: Shizuo Fujita <[email protected]>
    Co-authored-by: Ian Driver <[email protected]>
    Co-authored-by: Ian Driver <[email protected]>
    3 people authored Dec 5, 2025
    Configuration menu
    Copy the full SHA
    18fe509 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2025

  1. Backport(v1.16): test: use IO#popen instead of Kernel#open (#5182)

    Backport #4369
    
    **Which issue(s) this PR fixes**: 
    
    N/A
    
    **What this PR does / why we need it**: 
    
    open("|command") spawns command and create pipes for processing
    pipeline.
    
    This feature of Kernel#open is deprecated, replace it with IO#popen.
    
    It fixes the following warning:
    
      warning: Calling Kernel#open with a leading '|' is deprecated and will
      be removed in Ruby 4.0; use IO.popen instead
    
    **Docs Changes**:
    
    N/A
    
    **Release Note**: 
    
    N/A
    
    Signed-off-by: Kentaro Hayashi <[email protected]>
    Co-authored-by: Kentaro Hayashi <[email protected]>
    Watson1978 and kenhys authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    a0f65fc View commit details
    Browse the repository at this point in the history
  2. Backport(v1.16): test_dsl: fix test using pipe command (#5160) (#5183)

    Backport #5160
    
    **Which issue(s) this PR fixes**:
    Fixes #5148
    
    **What this PR does / why we need it**:
    Related to #5159
    I overlooked the fact that there were also tests using pipe commands in
    another file.
    
    Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an
    error.
    
    ```
    $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }"
    ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
    -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead
    "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n"
    
    $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }"
    ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux]
    -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT)
    	from -e:1:in 'Kernel.open'
    	from -e:1:in '<main>'
    ```
    
    **Docs Changes**:
    N/A
    
    **Release Note**:
    N/A
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    0f9ac07 View commit details
    Browse the repository at this point in the history
  3. Backport(v1.16): test_configdsl: fix test using pipe command (#5159) (#…

    …5185)
    
    Backport #5159
    
    **Which issue(s) this PR fixes**:
    Fixes #5148
    
    **What this PR does / why we need it**:
    
    Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an
    error.
    
    ```
    $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }"
    ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
    -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead
    "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n"
    
    $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }"
    ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux]
    -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT)
    	from -e:1:in 'Kernel.open'
    	from -e:1:in '<main>'
    ```
    
    This path will save the command's result in temporary files and use them
    instead due to avoid the error.
    
    **Docs Changes**:
    N/A
    
    **Release Note**:
    N/A
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    8140ef8 View commit details
    Browse the repository at this point in the history
  4. Backport(v1.16): test_fluentd: fix assert pattern of syntax error for…

    … Ruby HEAD (#4644) (#5187)
    
    Backport #4644
    
    **Which issue(s) this PR fixes**: 
    Fixes #
    
    Related to #4584
    
    **What this PR does / why we need it**: 
    Ruby parser will be replaced new parser in Ruby 3.4.
    ruby/ruby@ea2af57
    
    The new parser might not have a fully compatible of Syntax error
    messages.
    
    So I modified the assert pattern to succeed in the Ruby HEAD.
    
    ### example
    ```ruby
    module Foo
      class Bar
        def say
          puts "hello"
        end
      end
    ```
    
    ### result with Ruby 3.3.5
    ```
    $ ruby -v test.rb
    ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]
    test.rb: --> test.rb
    Unmatched keyword, missing `end' ?
    > 1  module Foo
    
    test.rb:6: syntax error, unexpected end-of-input, expecting `end' or dummy end (SyntaxError)
      end
         ^
    
    ```
    
    ### result with Ruby 3.4-dev
    ```ruby
    ruby -v test.rb
    ruby 3.4.0dev (2024-09-25T02:45:33Z master 76543a34ab) +PRISM [x86_64-linux]
    test.rb: --> test.rb
    Unmatched keyword, missing `end' ?
    > 1  module Foo
    
    test.rb:7: syntax errors found (SyntaxError)
      5 |     end
      6 |   end
    > 7 | 
        | ^ expected an `end` to close the `module` statement
    
        | ^ unexpected end-of-input, assuming it is closing the parent top level context
    
    ```
    
    Ruby 3.3.5 has `test.rb:6: syntax error,..`, but Ruby 3.4-dev has
    `test.rb:7: syntax errors...`.
    
    **Docs Changes**:
    
    **Release Note**:
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    6b165bd View commit details
    Browse the repository at this point in the history
  5. Backport(v1.16): tests: fix Hash#inspect format for Ruby HEAD (#5189)

    Backport #4677
    
    **Which issue(s) this PR fixes**: 
    Fixes #
    
    **What this PR does / why we need it**: 
    Hash#inspect style was updated at
    
    ruby/ruby@a8a0591
    
    Since its changing, fluentd's CI fails with Ruby HEAD.
    https://github.com/fluent/fluentd/actions/runs/11427054212
    
    This patch will recognize that style changing due to pass the CI tests.
    
    **Docs Changes**:
    
    **Release Note**:
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    4f5290b View commit details
    Browse the repository at this point in the history
  6. CI: add Ruby 3.4 (#5177)

    **Which issue(s) this PR fixes**: 
    Fixes #
    
    **What this PR does / why we need it**: 
    
    **Docs Changes**:
    
    **Release Note**:
    
    ---------
    
    Signed-off-by: Shizuo Fujita <[email protected]>
    Watson1978 authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    3563ad1 View commit details
    Browse the repository at this point in the history
  7. v1.16.11

    Signed-off-by: Shizuo Fujita <[email protected]>
    Co-authored-by: Daijiro Fukuda <[email protected]>
    Watson1978 and daipom authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    844c1d8 View commit details
    Browse the repository at this point in the history
Loading