fluentd 1.9.0.rc1 → 1.9.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05d0842de47c79ef5a898ea8777454fe9c9863b4d5b6e5161f05c9d5e30bf1c7
4
- data.tar.gz: 59fc0341af8411eb6e5830005f097c3f03851df9117d64ea838c91d36e9a7ff6
3
+ metadata.gz: d435419feb5d6622dfcfcaa8e464234a0ba8aa73abd501d61521568982c33736
4
+ data.tar.gz: 0a153fdfa008135008379514314c42575495004ba9f7fb49ce6d39c8fa647713
5
5
  SHA512:
6
- metadata.gz: aee7aaba37e954564671aa0790f6af069d583670bd02819578342d35b94061a225e5714fc221b1631d099000d36eb3df04e014edad39a5c7ac3156733cbf172b
7
- data.tar.gz: 1400809d32318726727359177ecf25e6393154dc0a9e5659516b6f9a73c6f87665c138f7c9f71359047818efa5dcf19f1c620faf998bead64edea5d6f17af3db
6
+ metadata.gz: fd0d19edc1817113632a530c931d155a46dce8af3bbc9c2b511c835dcb4ee69397a58e1af297ada745d4882008e58fbddba8beba9eb3f01c88120ffed716059b
7
+ data.tar.gz: b57a69591accb5eb39620afe1aeb0fbf39c171a431979349b110b15ad2892424bee5a28c4dbd7aad24ad1d19d3881759b86ca3d3595423e5c8b9004ec0d5d215
@@ -1,38 +1,22 @@
1
- include:
2
- - local: '/.gitlab/cicd-template.yaml'
1
+ .install-template:
2
+ before_script:
3
+ - gem update --system=2.7.8
4
+ - ruby -v
5
+
6
+ .test-template:
7
+ before_script:
8
+ - gem install rake
9
+ - bundle install
10
+ - chmod 777 -R ./test
3
11
 
4
12
  stages:
5
13
  - build
6
14
  - tests
7
15
 
8
- 2-1-10:
9
- image: "ruby:2.1.10"
10
- stage: build
11
- allow_failure: true
12
- extends: .install-template
13
- script:
14
- - bundle install --jobs=3 --retry=3
15
- cache:
16
- key: "$CI_COMMIT_REF_SLUG 2-1-10"
17
- paths:
18
- - ./*
19
-
20
- 2-2-10:
21
- image: "ruby:2.2.10"
22
- stage: build
23
- allow_failure: true
24
- extends: .install-template
25
- script:
26
- - bundle install --jobs=3 --retry=3
27
- cache:
28
- key: "$CI_COMMIT_REF_SLUG 2-2-10"
29
- paths:
30
-
31
16
  2-4-5:
32
17
  image: "ruby:2.4.5"
33
18
  stage: build
34
- allow_failure: true
35
- extends: .install-template
19
+ extends: .install-template
36
20
  script:
37
21
  - bundle install --jobs=3 --retry=3
38
22
  cache:
@@ -42,8 +26,7 @@ stages:
42
26
  2-5-5:
43
27
  image: "ruby:2.5.5"
44
28
  stage: build
45
- allow_failure: true
46
- extends: .install-template
29
+ extends: .install-template
47
30
  script:
48
31
  - bundle install --jobs=3 --retry=3
49
32
  cache:
@@ -53,8 +36,7 @@ stages:
53
36
  2-6-3:
54
37
  image: "ruby:2.6.3"
55
38
  stage: build
56
- allow_failure: true
57
- extends: .install-template
39
+ extends: .install-template
58
40
  script:
59
41
  - bundle install --jobs=3 --retry=3
60
42
  cache:
@@ -64,8 +46,7 @@ stages:
64
46
  rubyhead:
65
47
  image: "ruby:latest"
66
48
  stage: build
67
- allow_failure: true
68
- extends: .install-template
49
+ extends: .install-template
69
50
  script:
70
51
  - bundle install --jobs=3 --retry=3
71
52
  cache:
@@ -73,30 +54,6 @@ rubyhead:
73
54
  paths:
74
55
  - ./*
75
56
 
76
- 2-1-10-test:
77
- image: "ruby:2.1.10"
78
- stage: tests
79
- allow_failure: true
80
- extends: .test-template
81
- script:
82
- - bundle exec rake test
83
- cache:
84
- key: "$CI_COMMIT_REF_SLUG 2-1-10"
85
- paths:
86
- - ./*
87
-
88
- 2-2-10-test:
89
- image: "ruby:2.2.10"
90
- stage: tests
91
- allow_failure: true
92
- extends: .test-template
93
- script:
94
- - bundle exec rake test
95
- cache:
96
- key: "$CI_COMMIT_REF_SLUG 2-2-10"
97
- paths:
98
- - ./*
99
-
100
57
  2-4-5-test:
101
58
  image: "ruby:2.4.5"
102
59
  stage: tests
@@ -144,4 +101,3 @@ rubyhead-test:
144
101
  key: "$CI_COMMIT_REF_SLUG latest"
145
102
  paths:
146
103
  - ./*
147
-
@@ -13,13 +13,21 @@
13
13
 
14
14
  * output: Show better message for secondary warning
15
15
  https://github.com/fluent/fluentd/pull/2751
16
- * Clean up code for ruby 2.7
16
+ * Use `ext_monitor` gem if it is installed. For ruby 2.6 or earlier
17
+ https://github.com/fluent/fluentd/pull/2670
18
+ * Support Ruby's Time class in msgpack serde
19
+ https://github.com/fluent/fluentd/pull/2775
20
+ * Clean up code
17
21
  https://github.com/fluent/fluentd/pull/2753
22
+ https://github.com/fluent/fluentd/pull/2763
23
+ https://github.com/fluent/fluentd/pull/2764
18
24
 
19
25
  ### Bug fixes
20
26
 
21
27
  * outut/buffer: Fix stage size computation
22
28
  https://github.com/fluent/fluentd/pull/2734
29
+ * server: Ignore Errno::EHOSTUNREACH in TLS accept to avoid fluentd restart
30
+ https://github.com/fluent/fluentd/pull/2773
23
31
 
24
32
  # v1.8
25
33
 
data/README.md CHANGED
@@ -6,10 +6,6 @@ Travis CI:
6
6
  [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1189/badge)](https://bestpractices.coreinfrastructure.org/projects/1189)
7
7
  [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Ffluent%2Ffluentd.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Ffluent%2Ffluentd?ref=badge_shield)
8
8
 
9
- GitLab CI:
10
-
11
- [![pipeline status](https://gitlab.com/fluent/fluentd/badges/master/pipeline.svg)](https://gitlab.com/fluent/fluentd/commits/master)
12
-
13
9
  Drone CI for Arm64:
14
10
 
15
11
  [![pipeline status](https://cloud.drone.io/api/badges/fluent/fluentd/status.svg?branch=master)](https://cloud.drone.io/fluent/fluentd)
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.required_ruby_version = '>= 2.4'
20
20
 
21
- gem.add_runtime_dependency("msgpack", [">= 1.2.0", "< 2.0.0"])
21
+ gem.add_runtime_dependency("msgpack", [">= 1.3.1", "< 2.0.0"])
22
22
  gem.add_runtime_dependency("yajl-ruby", ["~> 1.0"])
23
23
  gem.add_runtime_dependency("cool.io", [">= 1.4.5", "< 2.0.0"])
24
24
  gem.add_runtime_dependency("serverengine", [">= 2.0.4", "< 3.0.0"])
@@ -39,13 +39,14 @@ Gem::Specification.new do |gem|
39
39
  gem.add_runtime_dependency("certstore_c", ["~> 0.1.2"])
40
40
  end
41
41
 
42
- gem.add_development_dependency("rake", ["~> 12.0"])
42
+ gem.add_development_dependency("rake", ["~> 13.0"])
43
43
  gem.add_development_dependency("flexmock", ["~> 2.0"])
44
44
  gem.add_development_dependency("parallel_tests", ["~> 0.15.3"])
45
45
  gem.add_development_dependency("simplecov", ["~> 0.7"])
46
46
  gem.add_development_dependency("rr", ["~> 1.0"])
47
- gem.add_development_dependency("timecop", ["~> 0.3"])
48
- gem.add_development_dependency("test-unit", ["~> 3.2"])
47
+ gem.add_development_dependency("timecop", ["~> 0.9"])
48
+ gem.add_development_dependency("test-unit", ["~> 3.3"])
49
49
  gem.add_development_dependency("test-unit-rr", ["~> 1.0"])
50
50
  gem.add_development_dependency("oj", [">= 2.14", "< 4"])
51
+ gem.add_development_dependency("ext_monitor", [">= 0.1.1", "< 0.2"])
51
52
  end
@@ -101,13 +101,11 @@ rescue
101
101
  usage $!.to_s
102
102
  end
103
103
 
104
-
105
104
  require 'thread'
106
- require 'monitor'
107
105
  require 'socket'
108
106
  require 'yajl'
109
107
  require 'msgpack'
110
-
108
+ require 'fluent/ext_monitor_require'
111
109
 
112
110
  class Writer
113
111
  include MonitorMixin
@@ -281,7 +281,8 @@ HELP
281
281
  @text = ""
282
282
  @preamble_source = ""
283
283
  @preamble = nil
284
- URI.open(LICENSE_URL) do |io|
284
+ uri = URI.parse(LICENSE_URL)
285
+ uri.open do |io|
285
286
  @text = io.read
286
287
  end
287
288
  @preamble_source = @text[/^(\s*Copyright.+)/m, 1]
@@ -0,0 +1,28 @@
1
+ #
2
+ # Fluentd
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ # To avoid duplicated requirements, extract this logic as file.
18
+
19
+ if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('2.7.0')
20
+ require 'monitor'
21
+ else
22
+ begin
23
+ # monitor_ext is bundled since ruby 2.7.0
24
+ require 'ext_monitor'
25
+ rescue LoadError => _
26
+ require 'monitor'
27
+ end
28
+ end
@@ -2,7 +2,6 @@ require 'thread'
2
2
  require 'socket'
3
3
  require 'fcntl'
4
4
  require 'time'
5
- require 'monitor'
6
5
  require 'stringio'
7
6
  require 'fileutils'
8
7
  require 'json'
@@ -33,3 +32,4 @@ require 'fluent/input'
33
32
  require 'fluent/output'
34
33
  require 'fluent/filter'
35
34
  require 'fluent/match'
35
+ require 'fluent/ext_monitor_require'
@@ -44,8 +44,8 @@ module Fluent
44
44
  end
45
45
  end
46
46
 
47
- def self.engine_factory
48
- @@engine_factory || factory
47
+ def self.engine_factory(enable_time_support: false)
48
+ @@engine_factory || factory(enable_time_support: enable_time_support)
49
49
  end
50
50
 
51
51
  def self.msgpack_packer(*args)
@@ -56,9 +56,15 @@ module Fluent
56
56
  engine_factory.unpacker(*args)
57
57
  end
58
58
 
59
- def self.factory
59
+ def self.factory(enable_time_support: false)
60
60
  factory = MessagePack::Factory.new
61
61
  factory.register_type(Fluent::EventTime::TYPE, Fluent::EventTime)
62
+ if enable_time_support
63
+ factory.register_type(
64
+ MessagePack::Timestamp::TYPE, Time,
65
+ packer: MessagePack::Time::Packer,
66
+ unpacker: MessagePack::Time::Unpacker)
67
+ end
62
68
  factory
63
69
  end
64
70
 
@@ -70,9 +76,15 @@ module Fluent
70
76
  factory.unpacker(*args)
71
77
  end
72
78
 
73
- def self.init
79
+ def self.init(enable_time_support: false)
74
80
  factory = MessagePack::Factory.new
75
81
  factory.register_type(Fluent::EventTime::TYPE, Fluent::EventTime)
82
+ if enable_time_support
83
+ factory.register_type(
84
+ MessagePack::Timestamp::TYPE, Time,
85
+ packer: MessagePack::Time::Packer,
86
+ unpacker: MessagePack::Time::Unpacker)
87
+ end
76
88
  @@engine_factory = factory
77
89
  end
78
90
 
@@ -17,8 +17,7 @@
17
17
  require 'fluent/plugin/base'
18
18
  require 'fluent/plugin/owned_by_mixin'
19
19
  require 'fluent/unique_id'
20
-
21
- require 'monitor'
20
+ require 'fluent/ext_monitor_require'
22
21
 
23
22
  module Fluent
24
23
  module Plugin
@@ -18,8 +18,8 @@ require 'fluent/plugin/buffer'
18
18
  require 'fluent/plugin/compressable'
19
19
  require 'fluent/unique_id'
20
20
  require 'fluent/event'
21
+ require 'fluent/ext_monitor_require'
21
22
 
22
- require 'monitor'
23
23
  require 'tempfile'
24
24
  require 'zlib'
25
25
 
@@ -25,9 +25,9 @@ require 'fluent/plugin_helper'
25
25
  require 'fluent/timezone'
26
26
  require 'fluent/unique_id'
27
27
  require 'fluent/clock'
28
+ require 'fluent/ext_monitor_require'
28
29
 
29
30
  require 'time'
30
- require 'monitor'
31
31
 
32
32
  module Fluent
33
33
  module Plugin
@@ -711,7 +711,7 @@ module Fluent
711
711
 
712
712
  return true
713
713
  end
714
- rescue Errno::EPIPE, Errno::ECONNRESET, Errno::ETIMEDOUT, Errno::ECONNREFUSED, OpenSSL::SSL::SSLError => e
714
+ rescue Errno::EPIPE, Errno::ECONNRESET, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, OpenSSL::SSL::SSLError => e
715
715
  @log.trace "unexpected error before accepting TLS connection", error: e
716
716
  close rescue nil
717
717
  end
@@ -536,7 +536,7 @@ module Fluent
536
536
 
537
537
  begin
538
538
  ServerEngine::Privilege.change(@chuser, @chgroup)
539
- MessagePackFactory.init
539
+ MessagePackFactory.init(enable_time_support: @system_config.enable_msgpack_time_support)
540
540
  Fluent::Engine.init(@system_config, supervisor_mode: true)
541
541
  Fluent::Engine.run_configure(@conf, dry_run: dry_run)
542
542
  rescue Fluent::ConfigError => e
@@ -584,7 +584,7 @@ module Fluent
584
584
  main_process do
585
585
  create_socket_manager if @standalone_worker
586
586
  ServerEngine::Privilege.change(@chuser, @chgroup) if @standalone_worker
587
- MessagePackFactory.init
587
+ MessagePackFactory.init(enable_time_support: @system_config.enable_msgpack_time_support)
588
588
  Fluent::Engine.init(@system_config)
589
589
  Fluent::Engine.run_configure(@conf)
590
590
  Fluent::Engine.run
@@ -27,7 +27,7 @@ module Fluent
27
27
  :log_event_verbose,
28
28
  :without_source, :rpc_endpoint, :enable_get_dump, :process_name,
29
29
  :file_permission, :dir_permission, :counter_server, :counter_client,
30
- :strict_config_value
30
+ :strict_config_value, :enable_msgpack_time_support
31
31
  ]
32
32
 
33
33
  config_param :workers, :integer, default: 1
@@ -42,6 +42,7 @@ module Fluent
42
42
  config_param :enable_get_dump, :bool, default: nil
43
43
  config_param :process_name, :string, default: nil
44
44
  config_param :strict_config_value, :bool, default: nil
45
+ config_param :enable_msgpack_time_support, :bool, default: nil
45
46
  config_param :file_permission, default: nil do |v|
46
47
  v.to_i(8)
47
48
  end
@@ -16,6 +16,6 @@
16
16
 
17
17
  module Fluent
18
18
 
19
- VERSION = '1.9.0.rc1'
19
+ VERSION = '1.9.0.rc2'
20
20
 
21
21
  end
@@ -76,6 +76,7 @@ module Fluent::Config
76
76
  assert_nil(sc.emit_error_log_interval)
77
77
  assert_nil(sc.suppress_config_dump)
78
78
  assert_nil(sc.without_source)
79
+ assert_nil(sc.enable_msgpack_time_support)
79
80
  assert_equal(:text, sc.log.format)
80
81
  assert_equal('%Y-%m-%d %H:%M:%S %z', sc.log.time_format)
81
82
  end
@@ -89,6 +90,7 @@ module Fluent::Config
89
90
  'suppress_config_dump' => ['suppress_config_dump', true],
90
91
  'without_source' => ['without_source', true],
91
92
  'strict_config_value' => ['strict_config_value', true],
93
+ 'enable_msgpack_time_support' => ['enable_msgpack_time_support', true],
92
94
  )
93
95
  test "accepts parameters" do |(k, v)|
94
96
  conf = parse_text(<<-EOS)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0.rc1
4
+ version: 1.9.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-07 00:00:00.000000000 Z
11
+ date: 2020-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.0
19
+ version: 1.3.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.0.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.2.0
29
+ version: 1.3.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.0.0
@@ -178,14 +178,14 @@ dependencies:
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: '12.0'
181
+ version: '13.0'
182
182
  type: :development
183
183
  prerelease: false
184
184
  version_requirements: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: '12.0'
188
+ version: '13.0'
189
189
  - !ruby/object:Gem::Dependency
190
190
  name: flexmock
191
191
  requirement: !ruby/object:Gem::Requirement
@@ -248,28 +248,28 @@ dependencies:
248
248
  requirements:
249
249
  - - "~>"
250
250
  - !ruby/object:Gem::Version
251
- version: '0.3'
251
+ version: '0.9'
252
252
  type: :development
253
253
  prerelease: false
254
254
  version_requirements: !ruby/object:Gem::Requirement
255
255
  requirements:
256
256
  - - "~>"
257
257
  - !ruby/object:Gem::Version
258
- version: '0.3'
258
+ version: '0.9'
259
259
  - !ruby/object:Gem::Dependency
260
260
  name: test-unit
261
261
  requirement: !ruby/object:Gem::Requirement
262
262
  requirements:
263
263
  - - "~>"
264
264
  - !ruby/object:Gem::Version
265
- version: '3.2'
265
+ version: '3.3'
266
266
  type: :development
267
267
  prerelease: false
268
268
  version_requirements: !ruby/object:Gem::Requirement
269
269
  requirements:
270
270
  - - "~>"
271
271
  - !ruby/object:Gem::Version
272
- version: '3.2'
272
+ version: '3.3'
273
273
  - !ruby/object:Gem::Dependency
274
274
  name: test-unit-rr
275
275
  requirement: !ruby/object:Gem::Requirement
@@ -304,6 +304,26 @@ dependencies:
304
304
  - - "<"
305
305
  - !ruby/object:Gem::Version
306
306
  version: '4'
307
+ - !ruby/object:Gem::Dependency
308
+ name: ext_monitor
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: 0.1.1
314
+ - - "<"
315
+ - !ruby/object:Gem::Version
316
+ version: '0.2'
317
+ type: :development
318
+ prerelease: false
319
+ version_requirements: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ version: 0.1.1
324
+ - - "<"
325
+ - !ruby/object:Gem::Version
326
+ version: '0.2'
307
327
  description: Fluentd is an open source data collector designed to scale and simplify
308
328
  log management. It can collect, process and ship many kinds of data in near real-time.
309
329
  email:
@@ -327,7 +347,6 @@ files:
327
347
  - ".github/PULL_REQUEST_TEMPLATE.md"
328
348
  - ".gitignore"
329
349
  - ".gitlab-ci.yml"
330
- - ".gitlab/cicd-template.yaml"
331
350
  - ".travis.yml"
332
351
  - ADOPTERS.md
333
352
  - AUTHORS
@@ -340,7 +359,6 @@ files:
340
359
  - MAINTAINERS.md
341
360
  - README.md
342
361
  - Rakefile
343
- - Vagrantfile
344
362
  - appveyor.yml
345
363
  - bin/fluent-binlog-reader
346
364
  - bin/fluent-ca-generate
@@ -448,6 +466,7 @@ files:
448
466
  - lib/fluent/error.rb
449
467
  - lib/fluent/event.rb
450
468
  - lib/fluent/event_router.rb
469
+ - lib/fluent/ext_monitor_require.rb
451
470
  - lib/fluent/filter.rb
452
471
  - lib/fluent/fluent_log_event_router.rb
453
472
  - lib/fluent/formatter.rb
@@ -1,10 +0,0 @@
1
- .install-template:
2
- before_script:
3
- - gem update --system=2.7.8
4
- - ruby -v
5
-
6
- .test-template:
7
- before_script:
8
- - gem install rake
9
- - bundle install
10
- - chmod 777 -R ./test
@@ -1,17 +0,0 @@
1
- # -*- mode: ruby -*-
2
- # vi: set ft=ruby :
3
-
4
- Vagrant.configure(2) do |config|
5
- config.vm.box = "ubuntu/trusty64"
6
- config.vm.network "private_network", type: "dhcp"
7
- config.vm.provision "shell", inline: <<-SHELL
8
- sudo apt-get install -y software-properties-common
9
- sudo apt-add-repository ppa:brightbox/ruby-ng
10
- sudo apt-get update
11
- sudo apt-get install -y build-essential git ruby2.3 ruby2.3-dev
12
- sudo apt-get install -y ruby-switch
13
- sudo ruby-switch --set ruby2.3
14
- gem install bundler
15
- (cd /vagrant; bundle install)
16
- SHELL
17
- end