flydata 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/VERSION +1 -1
- data/flydata.gemspec +8 -4
- data/lib/flydata/command/sender.rb +10 -7
- data/lib/flydata/fluent-plugins/in_mysql_binlog_flydata.rb +5 -0
- data/spec/flydata/fluent-plugins/in_mysql_binlog_flydata_spec.rb +17 -0
- metadata +23 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b8bbf89988f5ae28562da185290028c00f02304
|
4
|
+
data.tar.gz: e443c6fb75c571b1c1fc95ef40c3a877a7bb31fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aef7d1b13401d4881f020406ed6cfd32aca7193a01570cfac081556ce24a9a67b63678ce7da1762036dfbddeb02cbf67f283e4ce3ff4e7d9c756580cb786960c
|
7
|
+
data.tar.gz: cb4a80a2c7ce7fc1a507c57b6ad6ea51f23ae3299c562e3165799764d03eb9c8a021895209b1bb7c4708a54ebd609ae29b8dd437cf85d495e166169624dab0f6
|
data/Gemfile
CHANGED
@@ -13,6 +13,7 @@ gem "mysql2", '~> 0.3', '>= 0.3.11'
|
|
13
13
|
gem "slop", '~> 3.4', '>= 3.4.6'
|
14
14
|
gem "treetop", '~> 1.5', '>= 1.5.3'
|
15
15
|
gem "sys-filesystem", '~> 1.1', '>= 1.1.3'
|
16
|
+
gem "io-console", '~> 0.4.2', '>= 0.4.2'
|
16
17
|
|
17
18
|
group :development do
|
18
19
|
gem "jeweler", '~> 1.8', '>= 1.8.8'
|
data/Gemfile.lock
CHANGED
@@ -49,6 +49,7 @@ GEM
|
|
49
49
|
highline (1.6.21)
|
50
50
|
http_parser.rb (0.6.0)
|
51
51
|
i18n (0.6.11)
|
52
|
+
io-console (0.4.2)
|
52
53
|
jeweler (1.8.8)
|
53
54
|
builder
|
54
55
|
bundler (~> 1.0)
|
@@ -129,6 +130,7 @@ DEPENDENCIES
|
|
129
130
|
fluentd (= 0.10.46)
|
130
131
|
highline (~> 1.6, >= 1.6.19)
|
131
132
|
i18n (~> 0.6, >= 0.6.5)
|
133
|
+
io-console (~> 0.4.2, >= 0.4.2)
|
132
134
|
jeweler (~> 1.8, >= 1.8.8)
|
133
135
|
json (~> 1.8, >= 1.8.0)
|
134
136
|
mysql2 (~> 0.3, >= 0.3.11)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.2
|
data/flydata.gemspec
CHANGED
@@ -2,14 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: flydata 0.3.2 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "flydata"
|
8
|
-
s.version = "0.3.
|
9
|
+
s.version = "0.3.2"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["Koichi Fujikawa", "Masashi Miyazaki", "Matthew Luu", "Mak Inada", "Sriram NS"]
|
12
|
-
s.date = "2015-02-
|
14
|
+
s.date = "2015-02-25"
|
13
15
|
s.description = "FlyData Agent"
|
14
16
|
s.email = "sysadmin@flydata.com"
|
15
17
|
s.executables = ["fdmysqldump", "flydata", "serverinfo"]
|
@@ -150,8 +152,7 @@ Gem::Specification.new do |s|
|
|
150
152
|
]
|
151
153
|
s.homepage = "http://flydata.com/"
|
152
154
|
s.licenses = ["All right reserved."]
|
153
|
-
s.
|
154
|
-
s.rubygems_version = "2.0.14"
|
155
|
+
s.rubygems_version = "2.2.2"
|
155
156
|
s.summary = "FlyData Agent"
|
156
157
|
|
157
158
|
if s.respond_to? :specification_version then
|
@@ -170,6 +171,7 @@ Gem::Specification.new do |s|
|
|
170
171
|
s.add_runtime_dependency(%q<slop>, [">= 3.4.6", "~> 3.4"])
|
171
172
|
s.add_runtime_dependency(%q<treetop>, [">= 1.5.3", "~> 1.5"])
|
172
173
|
s.add_runtime_dependency(%q<sys-filesystem>, [">= 1.1.3", "~> 1.1"])
|
174
|
+
s.add_runtime_dependency(%q<io-console>, [">= 0.4.2", "~> 0.4.2"])
|
173
175
|
s.add_development_dependency(%q<jeweler>, [">= 1.8.8", "~> 1.8"])
|
174
176
|
s.add_development_dependency(%q<rspec>, ["~> 3.0"])
|
175
177
|
s.add_development_dependency(%q<timecop>, [">= 0.7.1", "~> 0.7"])
|
@@ -192,6 +194,7 @@ Gem::Specification.new do |s|
|
|
192
194
|
s.add_dependency(%q<slop>, [">= 3.4.6", "~> 3.4"])
|
193
195
|
s.add_dependency(%q<treetop>, [">= 1.5.3", "~> 1.5"])
|
194
196
|
s.add_dependency(%q<sys-filesystem>, [">= 1.1.3", "~> 1.1"])
|
197
|
+
s.add_dependency(%q<io-console>, [">= 0.4.2", "~> 0.4.2"])
|
195
198
|
s.add_dependency(%q<jeweler>, [">= 1.8.8", "~> 1.8"])
|
196
199
|
s.add_dependency(%q<rspec>, ["~> 3.0"])
|
197
200
|
s.add_dependency(%q<timecop>, [">= 0.7.1", "~> 0.7"])
|
@@ -215,6 +218,7 @@ Gem::Specification.new do |s|
|
|
215
218
|
s.add_dependency(%q<slop>, [">= 3.4.6", "~> 3.4"])
|
216
219
|
s.add_dependency(%q<treetop>, [">= 1.5.3", "~> 1.5"])
|
217
220
|
s.add_dependency(%q<sys-filesystem>, [">= 1.1.3", "~> 1.1"])
|
221
|
+
s.add_dependency(%q<io-console>, [">= 0.4.2", "~> 0.4.2"])
|
218
222
|
s.add_dependency(%q<jeweler>, [">= 1.8.8", "~> 1.8"])
|
219
223
|
s.add_dependency(%q<rspec>, ["~> 3.0"])
|
220
224
|
s.add_dependency(%q<timecop>, [">= 0.7.1", "~> 0.7"])
|
@@ -34,12 +34,7 @@ module Flydata
|
|
34
34
|
|
35
35
|
# Start sender(fluentd) process
|
36
36
|
log_info_stdout("Starting sender process.") unless options[:quiet]
|
37
|
-
|
38
|
-
Kernel.system("bash #{FLYDATA_SERVERINFO}", :out => [FLYDATA_LOG,'a'], :err => [FLYDATA_LOG,'a'])
|
39
|
-
daemon_opt = opts.no_daemon? ? "" : daemon_option
|
40
|
-
Kernel.system("ruby `which fluentd` #{daemon_opt} -l #{FLYDATA_LOG} -c #{FLYDATA_CONF} -p #{FLYDATA_FLUENT_PLUGIN_DIR}")
|
41
|
-
}
|
42
|
-
Kernel.sleep 5
|
37
|
+
raw_start(options)
|
43
38
|
|
44
39
|
wait_until_client_ready(options)
|
45
40
|
#wait_until_logs_uploaded
|
@@ -68,7 +63,7 @@ EOF
|
|
68
63
|
unless process_exist?
|
69
64
|
return true if client_buffer_empty?
|
70
65
|
log_info_stdout("Process doesn't exist. But, the client buffer is not empty!!") unless options[:quiet]
|
71
|
-
|
66
|
+
raw_start(options)
|
72
67
|
end
|
73
68
|
|
74
69
|
log_info_stdout('Stopping input plugins and flushing the client buffer.') unless options[:quiet]
|
@@ -122,6 +117,14 @@ EOF
|
|
122
117
|
# Return a list of fluentd parent processes run by the same user for the
|
123
118
|
# same flydata.pid file but not the process managed by the file itself.
|
124
119
|
CMD = %Q{test -f %s && ps -u `whoami` -o ppid,pid,args | grep '^ *1 ' | grep '\\%s' | egrep -v "\\b`cat %s`\\b"}
|
120
|
+
def raw_start(options)
|
121
|
+
Dir.chdir(FLYDATA_HOME){
|
122
|
+
Kernel.system("bash #{FLYDATA_SERVERINFO}", :out => [FLYDATA_LOG,'a'], :err => [FLYDATA_LOG,'a'])
|
123
|
+
daemon_opt = opts.no_daemon? ? "" : daemon_option
|
124
|
+
Kernel.system("ruby `which fluentd` #{daemon_opt} -l #{FLYDATA_LOG} -c #{FLYDATA_CONF} -p #{FLYDATA_FLUENT_PLUGIN_DIR}")
|
125
|
+
}
|
126
|
+
Kernel.sleep 5
|
127
|
+
end
|
125
128
|
def orphan_processes
|
126
129
|
cmd = CMD % [ pid_file, daemon_option, pid_file ]
|
127
130
|
result = `#{cmd}`
|
@@ -75,6 +75,11 @@ class MysqlBinlogFlydataInput < MysqlBinlogInput
|
|
75
75
|
end
|
76
76
|
@sync_fm = Flydata::FileUtil::SyncFileManager.new(nil) # Passing nil for data_entry as this class does not use methods which require data_entry
|
77
77
|
|
78
|
+
#Remove tables that do not have pos files
|
79
|
+
new_tables = @sync_fm.get_new_table_list(@tables, "pos")
|
80
|
+
@tables -= new_tables
|
81
|
+
$log.info "Not watching these tables: #{new_tables.join(", ")}"
|
82
|
+
|
78
83
|
table_meta = Mysql::TableMeta.new(
|
79
84
|
mysql_url: mysql_url, database: @database, tables: @tables)
|
80
85
|
table_meta.update
|
@@ -520,6 +520,23 @@ EOT
|
|
520
520
|
end
|
521
521
|
include_examples 'emits records correctly'
|
522
522
|
end
|
523
|
+
|
524
|
+
context 'do not watch table if no position file is found' do
|
525
|
+
# Stub SyncFileManager.new(nil).get_new_table_list() and return [TEST_TABLE]
|
526
|
+
# Need to make sure no event is sent... how do I do that
|
527
|
+
let(:sync_fm) { double('sync_fm') }
|
528
|
+
before do
|
529
|
+
Flydata::FileUtil::SyncFileManager.any_instance.should_receive(:get_new_table_list).with(TEST_TABLES.split(","), "pos").and_return([TEST_TABLE])
|
530
|
+
|
531
|
+
Test.configure_plugin(plugin, TEST_CONFIG)
|
532
|
+
plugin.event_listener(rotate_event)
|
533
|
+
end
|
534
|
+
it do
|
535
|
+
event = insert_event
|
536
|
+
event['table_name'] = TEST_TABLE
|
537
|
+
expect_no_emitted_record(event)
|
538
|
+
end
|
539
|
+
end
|
523
540
|
end
|
524
541
|
end
|
525
542
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flydata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koichi Fujikawa
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-02-
|
15
|
+
date: 2015-02-25 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rest-client
|
@@ -242,6 +242,26 @@ dependencies:
|
|
242
242
|
- - ~>
|
243
243
|
- !ruby/object:Gem::Version
|
244
244
|
version: '1.1'
|
245
|
+
- !ruby/object:Gem::Dependency
|
246
|
+
name: io-console
|
247
|
+
requirement: !ruby/object:Gem::Requirement
|
248
|
+
requirements:
|
249
|
+
- - '>='
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: 0.4.2
|
252
|
+
- - ~>
|
253
|
+
- !ruby/object:Gem::Version
|
254
|
+
version: 0.4.2
|
255
|
+
type: :runtime
|
256
|
+
prerelease: false
|
257
|
+
version_requirements: !ruby/object:Gem::Requirement
|
258
|
+
requirements:
|
259
|
+
- - '>='
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
version: 0.4.2
|
262
|
+
- - ~>
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 0.4.2
|
245
265
|
- !ruby/object:Gem::Dependency
|
246
266
|
name: jeweler
|
247
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -572,7 +592,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
572
592
|
version: '0'
|
573
593
|
requirements: []
|
574
594
|
rubyforge_project:
|
575
|
-
rubygems_version: 2.
|
595
|
+
rubygems_version: 2.2.2
|
576
596
|
signing_key:
|
577
597
|
specification_version: 4
|
578
598
|
summary: FlyData Agent
|