flydata 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|