fluentd 0.12.0 → 0.12.1

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
  SHA1:
3
- metadata.gz: 76237f968249345377ad1587cc876fe7783d5f74
4
- data.tar.gz: a61a06b92b56a1ab55c729d1e3500a8856d7aeef
3
+ metadata.gz: ec182ccd57b8d91c6b246b25783b1b34487ad43f
4
+ data.tar.gz: 3194c1994b373e087aabb571b2b5038f446740d7
5
5
  SHA512:
6
- metadata.gz: 145f3e187ed6e48d46ffc08d5c6800c66194b1c726f6d8dea36504856890dc13adde304c7fab420a8055f86a740dd58832a4269cebbf03125e02bbbb2c9e45d4
7
- data.tar.gz: a050b3b03cf3d1395caab0f8ea36098edec10aafb826812a40e9494cc645d51bf97d916f70e71bec848389f44d64f7f828f81aeb42e06894878a36b872d6504c
6
+ metadata.gz: 8edee638e09a09b8246bb36e85f9111490f39826af203fe9669a49c0ec6493ff6b4b4fb3cbbbb6b4b4430a3483439af04663e6eb4e2be9897ece3f2479ed10e7
7
+ data.tar.gz: 25d045c021631970ddb83499601c3b569efab22b8abc4b893a3f62e06712d3921b7a808a1fb740abd087516d6c0d3c8eb106ccf1b7364a057b4954ae34eaec85
data/ChangeLog CHANGED
@@ -1,3 +1,87 @@
1
+ # v0.12
2
+
3
+ ## Release 0.12.1 - 2014/12/14
4
+
5
+ ### Bug fixes
6
+
7
+ * plugin: Fix router is nil inside out_copy, out_roundrobin, and BufferedOutput secondary
8
+ https://github.com/fluent/fluentd/pull/508
9
+
10
+ ## Release 0.12.0 - 2014/12/12
11
+
12
+ ### New Features
13
+
14
+ * config: Introduce @type and @id parameter for system parameter. type and id are still valid.
15
+ * Filter: old tag trick of "using output plugins as filter" is no longer needed
16
+ v0.12.0 ships with grep and record_transformer filter plugins
17
+ * Label: grouping Filter and Output plugins to reduce the complexity of event routing
18
+ @ERROR built-in label is also added to handle errors in emit
19
+ Add emit_error_event API to send invalid record to @ERROR
20
+ * in_forward/out_forward: Add require_ack_response and ack_response_timeout for At-least-once semantics
21
+
22
+ Here is the announcement for above new features: http://www.fluentd.org/blog/fluentd-v0.12-is-released
23
+
24
+ * parser/formatter: Add base class and Plugin.new_xxx/Plugin.register_xxx APIs
25
+ https://github.com/fluent/fluentd/pull/495
26
+ https://github.com/fluent/fluentd/pull/497
27
+ * formatter: Add new CSV formatter
28
+ https://github.com/fluent/fluentd/pull/489
29
+ * formatter: Add msgpack format to built-in Formatter to dump records
30
+ https://github.com/fluent/fluentd/pull/479
31
+ * input: Add in_dummy plugin
32
+ https://github.com/fluent/fluentd/pull/484
33
+ * in_http: Add respond_with_empty_img parameter to return empty gif image
34
+ https://github.com/fluent/fluentd/pull/480
35
+ * in_http: Add cors_allow_origins parameter to support CORS request
36
+ https://github.com/fluent/fluentd/pull/473
37
+ * output: Add relable output plugin
38
+ https://github.com/fluent/fluentd/pull/417
39
+
40
+ ### Enhancement
41
+
42
+ * config: Add self.name to configure_proxy error message
43
+ https://github.com/fluent/fluentd/pull/490
44
+ * log: --suppress-repeated-stacktrace is true by default
45
+ https://github.com/fluent/fluentd/pull/446
46
+ * Update msgpack to v0.5 and cool.io to v1.2
47
+
48
+ ### Bug fixes
49
+
50
+ * config: Fix system config using double memory
51
+ https://github.com/fluent/fluentd/pull/496
52
+ * config: Fix v1 config to support multiple tag match
53
+ https://github.com/fluent/fluentd/pull/478
54
+ * config: Fix Config.bool_value regression for nil value
55
+ https://github.com/fluent/fluentd/pull/477
56
+ * parser: Fix blank column handling of TSVParser
57
+ https://github.com/fluent/fluentd/pull/506
58
+ * buffer: Prevent an exception with large num_retries
59
+ https://github.com/fluent/fluentd/pull/502
60
+ * out_file: Don't create world writable directory in daemon mode
61
+ https://github.com/fluent/fluentd/pull/483
62
+
63
+ # v0.10
64
+
65
+ Release 0.10.57 - 2014/11/13
66
+
67
+ * buffer: Make `total_queued_chunk_size` thread-safe to avoid race condition with `in_monitor_agent`
68
+ https://github.com/fluent/fluentd/pull/469
69
+ * Add `--no-supervisor` option to disable the supervisor for supervision tools like runit
70
+ https://github.com/fluent/fluentd/pull/449
71
+
72
+ 0.10.57 was a bug fix release.
73
+
74
+ Release 0.10.56 - 2014/10/31
75
+
76
+ * config: Add Fluent::Config::Section#object_id to avoid NoMethodError by object dump tools
77
+ https://github.com/fluent/fluentd/pull/460
78
+ * mixin: Fix SetTagKeyMixin and SetTimeKeyMixin which ignores config_set_default since 0.10.53
79
+ https://github.com/fluent/fluentd/pull/462
80
+ * input/output: Support 'timezone' configuration parameter (e.g. "+09:00" for JST)
81
+ https://github.com/fluent/fluentd/pull/430
82
+ * log: Use plugin_id instead of object_id in log message for consistency with in_monitor_agent
83
+ https://github.com/fluent/fluentd/pull/459
84
+
1
85
  Release 0.10.55 - 2014/10/16
2
86
 
3
87
  * config: Change v1's non-quoted string literal behaviour to v0's behaviour
@@ -32,6 +32,8 @@ module Fluent
32
32
  if label_name = conf['@label']
33
33
  label = Engine.root_agent.find_label(label_name)
34
34
  @router = label.event_router
35
+ elsif @router.nil?
36
+ @router = Engine.root_agent.event_router
35
37
  end
36
38
  end
37
39
 
@@ -32,6 +32,8 @@ module Fluent
32
32
  if label_name = conf['@label']
33
33
  label = Engine.root_agent.find_label(label_name)
34
34
  @router = label.event_router
35
+ elsif @router.nil?
36
+ @router = Engine.root_agent.event_router
35
37
  end
36
38
  end
37
39
 
@@ -72,6 +72,8 @@ module Fluent
72
72
  if label_name = conf['@label']
73
73
  label = Engine.root_agent.find_label(label_name)
74
74
  @router = label.event_router
75
+ elsif @router.nil?
76
+ @router = Engine.root_agent.event_router
75
77
  end
76
78
  end
77
79
 
@@ -210,6 +212,7 @@ module Fluent
210
212
  if sconf = conf.elements.select {|e| e.name == 'secondary' }.first
211
213
  type = sconf['@type'] || conf['@type'] || sconf['type'] || conf['type']
212
214
  @secondary = Plugin.new_output(type)
215
+ @secondary.router = router
213
216
  @secondary.configure(sconf)
214
217
 
215
218
  if secondary_limit = conf['secondary_limit']
@@ -199,7 +199,7 @@ module Fluent
199
199
  end
200
200
  end
201
201
 
202
- protected
202
+ private
203
203
 
204
204
  # Dots are separator for many cases:
205
205
  # we should have to escape dots in keys...
@@ -94,7 +94,7 @@ module Fluent
94
94
  log.error_backtrace
95
95
  end
96
96
 
97
- protected
97
+ private
98
98
 
99
99
  # message Entry {
100
100
  # 1: long time
@@ -49,7 +49,8 @@ module Fluent
49
49
  log.error_backtrace
50
50
  end
51
51
 
52
- protected
52
+ private
53
+
53
54
  # message Entry {
54
55
  # 1: long time
55
56
  # 2: object record
@@ -123,7 +123,8 @@ module Fluent
123
123
  log.error_backtrace
124
124
  end
125
125
 
126
- protected
126
+ private
127
+
127
128
  def receive_data_parser(data, addr)
128
129
  m = SYSLOG_REGEXP.match(data)
129
130
  unless m
@@ -39,6 +39,7 @@ module Fluent
39
39
  log.debug "adding store type=#{type.dump}"
40
40
 
41
41
  output = Plugin.new_output(type)
42
+ output.router = router
42
43
  output.configure(e)
43
44
  @outputs << output
44
45
  }
@@ -44,6 +44,7 @@ module Fluent
44
44
  log.debug "adding store type=#{type.dump}, weight=#{weight}"
45
45
 
46
46
  output = Plugin.new_output(type)
47
+ output.router = router
47
48
  output.configure(e)
48
49
  @outputs << output
49
50
  @weights << weight
@@ -70,7 +71,8 @@ module Fluent
70
71
  next_output.emit(tag, es, chain)
71
72
  end
72
73
 
73
- protected
74
+ private
75
+
74
76
  def next_output
75
77
  @rr = 0 if (@rr += 1) >= @weight_array.size
76
78
  @weight_array[@rr]
@@ -279,7 +279,8 @@ module Fluent
279
279
  def on_detach_process(i)
280
280
  end
281
281
 
282
- protected
282
+ private
283
+
283
284
  def detach_process_impl(num, &block)
284
285
  children = []
285
286
 
@@ -461,7 +462,8 @@ module Fluent
461
462
  end
462
463
  end
463
464
 
464
- protected
465
+ private
466
+
465
467
  def detach_multi_process(&block)
466
468
  if @detach_process
467
469
  detach_process_impl(@detach_process_num, &block)
@@ -25,9 +25,9 @@ module Fluent
25
25
  #
26
26
  # RootAgent
27
27
  # |
28
- # +------------+-------------+
29
- # | | |
30
- # <label> <source> <match>
28
+ # +------------+-------------+-------------+
29
+ # | | | |
30
+ # <label> <source> <filter> <match>
31
31
  # |
32
32
  # +----+----+
33
33
  # | |
@@ -16,6 +16,6 @@
16
16
 
17
17
  module Fluent
18
18
 
19
- VERSION = '0.12.0'
19
+ VERSION = '0.12.1'
20
20
 
21
21
  end
@@ -62,6 +62,10 @@ class CopyOutputTest < Test::Unit::TestCase
62
62
  [time, {"a"=>2}],
63
63
  ], o.events
64
64
  }
65
+
66
+ d.instance.outputs.each {|o|
67
+ assert_not_nil o.router
68
+ }
65
69
  end
66
70
 
67
71
  def test_msgpack_es_emit_bug
@@ -113,6 +113,10 @@ class RoundRobinOutputTest < Test::Unit::TestCase
113
113
  assert_equal [
114
114
  [time, {"a"=>3}],
115
115
  ], os[2].events
116
+
117
+ d.instance.outputs.each {|o|
118
+ assert_not_nil o.router
119
+ }
116
120
  end
117
121
 
118
122
  def test_emit_weighted
@@ -8,6 +8,17 @@ module FluentOutputTest
8
8
  class BufferedOutputTest < ::Test::Unit::TestCase
9
9
  include FluentOutputTest
10
10
 
11
+ class << self
12
+ def startup
13
+ $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), 'scripts'))
14
+ require 'fluent/plugin/out_test'
15
+ end
16
+
17
+ def shutdown
18
+ $LOAD_PATH.shift
19
+ end
20
+ end
21
+
11
22
  def setup
12
23
  Fluent::Test.setup
13
24
  end
@@ -138,5 +149,15 @@ module FluentOutputTest
138
149
  d.instance.shutdown
139
150
  assert (d.instance.submit_flush_threads.size > 1), "fails if only one thread works to submit flush"
140
151
  end
152
+
153
+ def test_secondary
154
+ d = create_driver(CONFIG + %[
155
+ <secondary>
156
+ type test
157
+ name c0
158
+ </secondary>
159
+ ])
160
+ assert_not_nil d.instance.instance_variable_get(:@secondary).router
161
+ end
141
162
  end
142
163
  end
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: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-12 00:00:00.000000000 Z
11
+ date: 2014-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack