fluentd 0.10.39 → 0.10.40
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.
- data/ChangeLog +10 -0
- data/lib/fluent/engine.rb +5 -0
- data/lib/fluent/log.rb +7 -0
- data/lib/fluent/parser.rb +1 -1
- data/lib/fluent/plugin/in_exec.rb +18 -6
- data/lib/fluent/plugin/in_forward.rb +6 -6
- data/lib/fluent/plugin/in_http.rb +2 -2
- data/lib/fluent/plugin/in_tail.rb +0 -1
- data/lib/fluent/plugin/out_exec_filter.rb +2 -2
- data/lib/fluent/version.rb +1 -1
- metadata +50 -27
- checksums.yaml +0 -7
data/ChangeLog
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
Release 0.10.40 - 2013/11/08
|
2
|
+
|
3
|
+
* Dump gem version of fluent-plugin-xxx and fluent-mixin-xxx
|
4
|
+
* in_http: Doesn't set REMOTE_ADDR when IO#getpeername failed
|
5
|
+
* in_tail/parser: Fix RegexpParser which ignores time_format parameter
|
6
|
+
* in_exec: Catch error and dumps error message in run_periodic
|
7
|
+
* in_forward: Show error class in the error message
|
8
|
+
* in_exec/out_exec_filter: Catch more exceptions, not only Errno::ESRCH, at shutdown
|
9
|
+
* Log: Catch exception for log event handling at shutdown
|
10
|
+
|
1
11
|
Release 0.10.39 - 2013/09/18
|
2
12
|
|
3
13
|
* out_file: Improve symlink handling with buf_file
|
data/lib/fluent/engine.rb
CHANGED
@@ -80,6 +80,11 @@ module Fluent
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def configure(conf)
|
83
|
+
# plugins / configuration dumps
|
84
|
+
Gem::Specification.find_all.select{|x| x.name =~ /^fluent(d|-(plugin|mixin)-.*)$/}.each do |spec|
|
85
|
+
$log.info "gem '#{spec.name}' version '#{spec.version}'"
|
86
|
+
end
|
87
|
+
|
83
88
|
unless @suppress_config_dump
|
84
89
|
$log.info "using configuration file: #{conf.to_s.rstrip}"
|
85
90
|
end
|
data/lib/fluent/log.rb
CHANGED
@@ -104,6 +104,8 @@ module Fluent
|
|
104
104
|
args << block.call if block
|
105
105
|
time, msg = event(:trace, args)
|
106
106
|
puts [@color_trace, caller_line(time, 1, LEVEL_TRACE), msg, @color_reset].join
|
107
|
+
rescue
|
108
|
+
# logger should not raise an exception. This rescue prevents unexpected behaviour.
|
107
109
|
end
|
108
110
|
alias TRACE trace
|
109
111
|
|
@@ -126,6 +128,7 @@ module Fluent
|
|
126
128
|
args << block.call if block
|
127
129
|
time, msg = event(:debug, args)
|
128
130
|
puts [@color_debug, caller_line(time, 1, LEVEL_DEBUG), msg, @color_reset].join
|
131
|
+
rescue
|
129
132
|
end
|
130
133
|
alias DEBUG debug
|
131
134
|
|
@@ -148,6 +151,7 @@ module Fluent
|
|
148
151
|
args << block.call if block
|
149
152
|
time, msg = event(:info, args)
|
150
153
|
puts [@color_info, caller_line(time, 1, LEVEL_INFO), msg, @color_reset].join
|
154
|
+
rescue
|
151
155
|
end
|
152
156
|
alias INFO info
|
153
157
|
|
@@ -170,6 +174,7 @@ module Fluent
|
|
170
174
|
args << block.call if block
|
171
175
|
time, msg = event(:warn, args)
|
172
176
|
puts [@color_warn, caller_line(time, 1, LEVEL_WARN), msg, @color_reset].join
|
177
|
+
rescue
|
173
178
|
end
|
174
179
|
alias WARN warn
|
175
180
|
|
@@ -192,6 +197,7 @@ module Fluent
|
|
192
197
|
args << block.call if block
|
193
198
|
time, msg = event(:error, args)
|
194
199
|
puts [@color_error, caller_line(time, 1, LEVEL_ERROR), msg, @color_reset].join
|
200
|
+
rescue
|
195
201
|
end
|
196
202
|
alias ERROR error
|
197
203
|
|
@@ -214,6 +220,7 @@ module Fluent
|
|
214
220
|
args << block.call if block
|
215
221
|
time, msg = event(:fatal, args)
|
216
222
|
puts [@color_fatal, caller_line(time, 1, LEVEL_FATAL), msg, @color_reset].join
|
223
|
+
rescue
|
217
224
|
end
|
218
225
|
alias FATAL fatal
|
219
226
|
|
data/lib/fluent/parser.rb
CHANGED
@@ -96,11 +96,18 @@ module Fluent
|
|
96
96
|
@finished = true
|
97
97
|
@thread.join
|
98
98
|
else
|
99
|
-
|
99
|
+
begin
|
100
|
+
Process.kill(:TERM, @pid)
|
101
|
+
rescue #Errno::ECHILD, Errno::ESRCH, Errno::EPERM
|
102
|
+
end
|
100
103
|
if @thread.join(60) # TODO wait time
|
101
104
|
return
|
102
105
|
end
|
103
|
-
|
106
|
+
|
107
|
+
begin
|
108
|
+
Process.kill(:KILL, @pid)
|
109
|
+
rescue #Errno::ECHILD, Errno::ESRCH, Errno::EPERM
|
110
|
+
end
|
104
111
|
@thread.join
|
105
112
|
end
|
106
113
|
end
|
@@ -111,10 +118,15 @@ module Fluent
|
|
111
118
|
|
112
119
|
def run_periodic
|
113
120
|
until @finished
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
121
|
+
begin
|
122
|
+
sleep @run_interval
|
123
|
+
io = IO.popen(@command, "r")
|
124
|
+
@parser.call(io)
|
125
|
+
Process.waitpid(io.pid)
|
126
|
+
rescue
|
127
|
+
$log.error "exec failed to run or shutdown child process", :error => $!.to_s, :error_class => $!.class.to_s
|
128
|
+
$log.warn_backtrace $!.backtrace
|
129
|
+
end
|
118
130
|
end
|
119
131
|
end
|
120
132
|
|
@@ -79,8 +79,8 @@ module Fluent
|
|
79
79
|
|
80
80
|
def run
|
81
81
|
@loop.run
|
82
|
-
rescue
|
83
|
-
$log.error "unexpected error", :error
|
82
|
+
rescue => e
|
83
|
+
$log.error "unexpected error", :error => e, :error_class => e.class
|
84
84
|
$log.error_backtrace
|
85
85
|
end
|
86
86
|
|
@@ -175,16 +175,16 @@ module Fluent
|
|
175
175
|
|
176
176
|
def on_read_json(data)
|
177
177
|
@y << data
|
178
|
-
rescue
|
179
|
-
$log.error "forward error:
|
178
|
+
rescue => e
|
179
|
+
$log.error "forward error", :error => e, :error_class => e.class
|
180
180
|
$log.error_backtrace
|
181
181
|
close
|
182
182
|
end
|
183
183
|
|
184
184
|
def on_read_msgpack(data)
|
185
185
|
@u.feed_each(data, &@on_message)
|
186
|
-
rescue
|
187
|
-
$log.error "forward error:
|
186
|
+
rescue => e
|
187
|
+
$log.error "forward error", :error => e, :error_class => e.class
|
188
188
|
$log.error_backtrace
|
189
189
|
close
|
190
190
|
end
|
@@ -154,7 +154,7 @@ module Fluent
|
|
154
154
|
@idle = 0
|
155
155
|
@km.add(self)
|
156
156
|
|
157
|
-
@remote_port, @remote_addr = *Socket.unpack_sockaddr_in(io.getpeername)
|
157
|
+
@remote_port, @remote_addr = *Socket.unpack_sockaddr_in(io.getpeername) rescue nil
|
158
158
|
end
|
159
159
|
|
160
160
|
def step_idle
|
@@ -234,7 +234,7 @@ module Fluent
|
|
234
234
|
def on_message_complete
|
235
235
|
return if closing?
|
236
236
|
|
237
|
-
@env['REMOTE_ADDR'] = @remote_addr
|
237
|
+
@env['REMOTE_ADDR'] = @remote_addr if @remote_addr
|
238
238
|
|
239
239
|
params = WEBrick::HTTPUtils.parse_query(@parser.query_string)
|
240
240
|
|
@@ -261,7 +261,7 @@ module Fluent
|
|
261
261
|
def kill_child(join_wait)
|
262
262
|
begin
|
263
263
|
Process.kill(:TERM, @pid)
|
264
|
-
rescue Errno::ESRCH
|
264
|
+
rescue #Errno::ECHILD, Errno::ESRCH, Errno::EPERM
|
265
265
|
# Errno::ESRCH 'No such process', ignore
|
266
266
|
# child process killed by signal chained from fluentd process
|
267
267
|
end
|
@@ -271,7 +271,7 @@ module Fluent
|
|
271
271
|
end
|
272
272
|
begin
|
273
273
|
Process.kill(:KILL, @pid)
|
274
|
-
rescue Errno::ESRCH
|
274
|
+
rescue #Errno::ECHILD, Errno::ESRCH, Errno::EPERM
|
275
275
|
# ignore if successfully killed by :TERM
|
276
276
|
end
|
277
277
|
@thread.join
|
data/lib/fluent/version.rb
CHANGED
metadata
CHANGED
@@ -1,32 +1,34 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluentd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.40
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Sadayuki Furuhashi
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-11-08 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: msgpack
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 0.4.4
|
20
|
-
- - '!='
|
22
|
+
- - ! '!='
|
21
23
|
- !ruby/object:Gem::Version
|
22
24
|
version: 0.5.0
|
23
|
-
- - '!='
|
25
|
+
- - ! '!='
|
24
26
|
- !ruby/object:Gem::Version
|
25
27
|
version: 0.5.1
|
26
|
-
- - '!='
|
28
|
+
- - ! '!='
|
27
29
|
- !ruby/object:Gem::Version
|
28
30
|
version: 0.5.2
|
29
|
-
- - '!='
|
31
|
+
- - ! '!='
|
30
32
|
- !ruby/object:Gem::Version
|
31
33
|
version: 0.5.3
|
32
34
|
- - <
|
@@ -35,20 +37,21 @@ dependencies:
|
|
35
37
|
type: :runtime
|
36
38
|
prerelease: false
|
37
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
38
41
|
requirements:
|
39
|
-
- - '>='
|
42
|
+
- - ! '>='
|
40
43
|
- !ruby/object:Gem::Version
|
41
44
|
version: 0.4.4
|
42
|
-
- - '!='
|
45
|
+
- - ! '!='
|
43
46
|
- !ruby/object:Gem::Version
|
44
47
|
version: 0.5.0
|
45
|
-
- - '!='
|
48
|
+
- - ! '!='
|
46
49
|
- !ruby/object:Gem::Version
|
47
50
|
version: 0.5.1
|
48
|
-
- - '!='
|
51
|
+
- - ! '!='
|
49
52
|
- !ruby/object:Gem::Version
|
50
53
|
version: 0.5.2
|
51
|
-
- - '!='
|
54
|
+
- - ! '!='
|
52
55
|
- !ruby/object:Gem::Version
|
53
56
|
version: 0.5.3
|
54
57
|
- - <
|
@@ -57,20 +60,23 @@ dependencies:
|
|
57
60
|
- !ruby/object:Gem::Dependency
|
58
61
|
name: json
|
59
62
|
requirement: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
60
64
|
requirements:
|
61
|
-
- - '>='
|
65
|
+
- - ! '>='
|
62
66
|
- !ruby/object:Gem::Version
|
63
67
|
version: 1.4.3
|
64
68
|
type: :runtime
|
65
69
|
prerelease: false
|
66
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
67
72
|
requirements:
|
68
|
-
- - '>='
|
73
|
+
- - ! '>='
|
69
74
|
- !ruby/object:Gem::Version
|
70
75
|
version: 1.4.3
|
71
76
|
- !ruby/object:Gem::Dependency
|
72
77
|
name: yajl-ruby
|
73
78
|
requirement: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
74
80
|
requirements:
|
75
81
|
- - ~>
|
76
82
|
- !ruby/object:Gem::Version
|
@@ -78,6 +84,7 @@ dependencies:
|
|
78
84
|
type: :runtime
|
79
85
|
prerelease: false
|
80
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
81
88
|
requirements:
|
82
89
|
- - ~>
|
83
90
|
- !ruby/object:Gem::Version
|
@@ -85,6 +92,7 @@ dependencies:
|
|
85
92
|
- !ruby/object:Gem::Dependency
|
86
93
|
name: cool.io
|
87
94
|
requirement: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
88
96
|
requirements:
|
89
97
|
- - ~>
|
90
98
|
- !ruby/object:Gem::Version
|
@@ -92,6 +100,7 @@ dependencies:
|
|
92
100
|
type: :runtime
|
93
101
|
prerelease: false
|
94
102
|
version_requirements: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
95
104
|
requirements:
|
96
105
|
- - ~>
|
97
106
|
- !ruby/object:Gem::Version
|
@@ -99,6 +108,7 @@ dependencies:
|
|
99
108
|
- !ruby/object:Gem::Dependency
|
100
109
|
name: http_parser.rb
|
101
110
|
requirement: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
102
112
|
requirements:
|
103
113
|
- - ~>
|
104
114
|
- !ruby/object:Gem::Version
|
@@ -106,6 +116,7 @@ dependencies:
|
|
106
116
|
type: :runtime
|
107
117
|
prerelease: false
|
108
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
109
120
|
requirements:
|
110
121
|
- - ~>
|
111
122
|
- !ruby/object:Gem::Version
|
@@ -113,57 +124,65 @@ dependencies:
|
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
125
|
name: rake
|
115
126
|
requirement: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
116
128
|
requirements:
|
117
|
-
- - '>='
|
129
|
+
- - ! '>='
|
118
130
|
- !ruby/object:Gem::Version
|
119
131
|
version: 0.9.2
|
120
132
|
type: :development
|
121
133
|
prerelease: false
|
122
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
123
136
|
requirements:
|
124
|
-
- - '>='
|
137
|
+
- - ! '>='
|
125
138
|
- !ruby/object:Gem::Version
|
126
139
|
version: 0.9.2
|
127
140
|
- !ruby/object:Gem::Dependency
|
128
141
|
name: parallel_tests
|
129
142
|
requirement: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
130
144
|
requirements:
|
131
|
-
- - '>='
|
145
|
+
- - ! '>='
|
132
146
|
- !ruby/object:Gem::Version
|
133
147
|
version: 0.15.3
|
134
148
|
type: :development
|
135
149
|
prerelease: false
|
136
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
|
+
none: false
|
137
152
|
requirements:
|
138
|
-
- - '>='
|
153
|
+
- - ! '>='
|
139
154
|
- !ruby/object:Gem::Version
|
140
155
|
version: 0.15.3
|
141
156
|
- !ruby/object:Gem::Dependency
|
142
157
|
name: rr
|
143
158
|
requirement: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
144
160
|
requirements:
|
145
|
-
- - '>='
|
161
|
+
- - ! '>='
|
146
162
|
- !ruby/object:Gem::Version
|
147
163
|
version: 1.0.0
|
148
164
|
type: :development
|
149
165
|
prerelease: false
|
150
166
|
version_requirements: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
151
168
|
requirements:
|
152
|
-
- - '>='
|
169
|
+
- - ! '>='
|
153
170
|
- !ruby/object:Gem::Version
|
154
171
|
version: 1.0.0
|
155
172
|
- !ruby/object:Gem::Dependency
|
156
173
|
name: timecop
|
157
174
|
requirement: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
158
176
|
requirements:
|
159
|
-
- - '>='
|
177
|
+
- - ! '>='
|
160
178
|
- !ruby/object:Gem::Version
|
161
179
|
version: 0.3.0
|
162
180
|
type: :development
|
163
181
|
prerelease: false
|
164
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
165
184
|
requirements:
|
166
|
-
- - '>='
|
185
|
+
- - ! '>='
|
167
186
|
- !ruby/object:Gem::Version
|
168
187
|
version: 0.3.0
|
169
188
|
description: Fluentd is an event collector system. It is a generalized version of
|
@@ -270,26 +289,30 @@ files:
|
|
270
289
|
- test/scripts/exec_script.rb
|
271
290
|
homepage: http://fluentd.org/
|
272
291
|
licenses: []
|
273
|
-
metadata: {}
|
274
292
|
post_install_message:
|
275
293
|
rdoc_options: []
|
276
294
|
require_paths:
|
277
295
|
- lib
|
278
296
|
required_ruby_version: !ruby/object:Gem::Requirement
|
297
|
+
none: false
|
279
298
|
requirements:
|
280
|
-
- - '>='
|
299
|
+
- - ! '>='
|
281
300
|
- !ruby/object:Gem::Version
|
282
301
|
version: 1.9.2
|
283
302
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
303
|
+
none: false
|
284
304
|
requirements:
|
285
|
-
- - '>='
|
305
|
+
- - ! '>='
|
286
306
|
- !ruby/object:Gem::Version
|
287
307
|
version: '0'
|
308
|
+
segments:
|
309
|
+
- 0
|
310
|
+
hash: -2484756068667475409
|
288
311
|
requirements: []
|
289
312
|
rubyforge_project:
|
290
|
-
rubygems_version:
|
313
|
+
rubygems_version: 1.8.23
|
291
314
|
signing_key:
|
292
|
-
specification_version:
|
315
|
+
specification_version: 3
|
293
316
|
summary: Fluentd event collector
|
294
317
|
test_files:
|
295
318
|
- test/config.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 14f93577d21ab248d08466b142442d503ba9ad55
|
4
|
-
data.tar.gz: 9036d89bf55c57a454120dc766c3da6fe445fbf8
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 5c4ae2365e4e3a59cc22e7089203ea57b3cf7bc89d759915e4f02b795312903116484dd65f43a7e07ed9e98a1da13f5e1aa6112a0448d03706e4171cd3dad63a
|
7
|
-
data.tar.gz: 806d690bccc9674f2bd45d693eb523a07e06d0aa4e2dc63e42396421d34ce8f27977bba119b0e5470d8844ee62c140cd1cf8c4bff1b8ce2aa16bd8d40e7fb419
|