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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b34f397692efd9d9bc9575588d19263b9c0df2c
4
- data.tar.gz: 21b42d4c19267a6656eb8f8d8c21607cf54501f1
3
+ metadata.gz: 8b8bbf89988f5ae28562da185290028c00f02304
4
+ data.tar.gz: e443c6fb75c571b1c1fc95ef40c3a877a7bb31fa
5
5
  SHA512:
6
- metadata.gz: 147ed1f61574abacfc850460e4745953c37bba5827985bd82adc51c9ef6750cb6188f3e56f52a3e855f73096c9fb6c05e97039ed68ac0982029a259f8a9a8c78
7
- data.tar.gz: a73489d7abcfb93db8720819143ad751d78493389d911407ede925a8f2417ba9161d7a742365b97de56595ca168139832ef179f37a025ce47e015da97b03829d
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
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.1"
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-24"
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.require_paths = ["lib"]
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
- Dir.chdir(FLYDATA_HOME){
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
- start(options)
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.1
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-24 00:00:00.000000000 Z
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.0.14
595
+ rubygems_version: 2.2.2
576
596
  signing_key:
577
597
  specification_version: 4
578
598
  summary: FlyData Agent