bricolage-streamingload 0.16.0 → 0.17.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e799760fb58dd3ec1dcd3eeaf74b068a0336a21a32488f04dc0353d44514c0cd
4
- data.tar.gz: 1ec9bfe0cadd6537a352e99cf7b61d53122ae17a67dd31c733e4e2e0c7890849
3
+ metadata.gz: 156e42da1bd9a51564c4648b497997ae96c5a9211b0716506f7781cb2ca6e572
4
+ data.tar.gz: facff01968de8a74e9164c314fc2c540eb36ea20092f9db56748b1493f1bc1ea
5
5
  SHA512:
6
- metadata.gz: 700157b7be5a53753056d7a830d5502c117cbcae474a97be17a72cb18b58a8aa48ea927aaf333040e6674c098413e91298a6bfe112b1fcd58293d32c4b207068
7
- data.tar.gz: bb63e1c5e7f646003ed07c0f12758cb79bd316227033d43ae2cb0165a203d3706bfdf6ea2eae8ef681e8d9c02285fcca5a98ab4f8d7b0c3a78ab3a11b853fe31
6
+ metadata.gz: 906915bf0cf9ff63bbb9a048d21b42e51059665643b8a34cf5c51751fa2b708b083e5ab061c7c3cb7d56b5457f04b9479e66ae3320e9df175070ffbdb04d7399
7
+ data.tar.gz: 7583875fa978f25c420cb8ff9732ff3d73553af3157d72115581fe4ef09ef11b40c90b64041158ff147eee8adad29e2ebc56d83b9755323a3b414065cadab466
data/Gemfile.lock CHANGED
@@ -1,44 +1,51 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bricolage-streamingload (0.15.2)
4
+ bricolage-streamingload (0.16.1)
5
5
  aws-sdk-s3 (~> 1.8)
6
6
  aws-sdk-sqs (~> 1.3)
7
- bricolage (>= 5.29.2)
7
+ bricolage (~> 5.30)
8
8
  pg (~> 0.18.0)
9
+ sentry-raven (~> 3.0)
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
- aws-eventstream (1.0.1)
14
- aws-partitions (1.102.0)
15
- aws-sdk-core (3.25.0)
16
- aws-eventstream (~> 1.0)
17
- aws-partitions (~> 1.0)
18
- aws-sigv4 (~> 1.0)
14
+ aws-eventstream (1.1.0)
15
+ aws-partitions (1.351.0)
16
+ aws-sdk-core (3.104.3)
17
+ aws-eventstream (~> 1, >= 1.0.2)
18
+ aws-partitions (~> 1, >= 1.239.0)
19
+ aws-sigv4 (~> 1.1)
19
20
  jmespath (~> 1.0)
20
- aws-sdk-kms (1.7.0)
21
- aws-sdk-core (~> 3)
22
- aws-sigv4 (~> 1.0)
23
- aws-sdk-s3 (1.17.1)
24
- aws-sdk-core (~> 3, >= 3.21.2)
21
+ aws-sdk-kms (1.36.0)
22
+ aws-sdk-core (~> 3, >= 3.99.0)
23
+ aws-sigv4 (~> 1.1)
24
+ aws-sdk-s3 (1.75.0)
25
+ aws-sdk-core (~> 3, >= 3.104.1)
25
26
  aws-sdk-kms (~> 1)
26
- aws-sigv4 (~> 1.0)
27
- aws-sdk-sns (1.3.0)
28
- aws-sdk-core (~> 3)
29
- aws-sigv4 (~> 1.0)
30
- aws-sdk-sqs (1.4.0)
31
- aws-sdk-core (~> 3)
32
- aws-sigv4 (~> 1.0)
33
- aws-sigv4 (1.0.3)
34
- bricolage (5.29.2)
27
+ aws-sigv4 (~> 1.1)
28
+ aws-sdk-sns (1.28.0)
29
+ aws-sdk-core (~> 3, >= 3.99.0)
30
+ aws-sigv4 (~> 1.1)
31
+ aws-sdk-sqs (1.30.0)
32
+ aws-sdk-core (~> 3, >= 3.99.0)
33
+ aws-sigv4 (~> 1.1)
34
+ aws-sigv4 (1.2.1)
35
+ aws-eventstream (~> 1, >= 1.0.2)
36
+ bricolage (5.30.0)
35
37
  aws-sdk-s3 (~> 1)
36
38
  aws-sdk-sns (~> 1)
37
39
  pg (~> 0.18.0)
40
+ faraday (1.0.1)
41
+ multipart-post (>= 1.2, < 3)
38
42
  jmespath (1.4.0)
43
+ multipart-post (2.1.1)
39
44
  pg (0.18.4)
40
45
  power_assert (1.1.3)
41
- rake (12.3.1)
46
+ rake (12.3.3)
47
+ sentry-raven (3.0.0)
48
+ faraday (>= 1.0)
42
49
  test-unit (3.2.8)
43
50
  power_assert
44
51
 
@@ -51,4 +58,4 @@ DEPENDENCIES
51
58
  test-unit
52
59
 
53
60
  BUNDLED WITH
54
- 1.16.1
61
+ 1.17.2
data/RELEASE.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Bricolage Streaming Load Release Note
2
2
 
3
+ ## version 0.17.2
4
+
5
+ - [fix] Relax dependency gem versions
6
+
7
+ ## version 0.17.1
8
+
9
+ - [new][tmp] Sends a message to Sentry on start-up.
10
+
11
+ ## version 0.17.0
12
+
13
+ - [new] Introduces Sentry error reporting. Define SENTRY_DSN environment variable to enable it.
14
+
15
+ ## version 0.16.1
16
+
17
+ - [fix] Stop retrying after 2 times retried (total 3 trial).
18
+
3
19
  ## version 0.16.0
4
20
 
5
21
  - [new] Retry for also error tasks, not only failure tasks.
@@ -17,10 +17,9 @@ Gem::Specification.new do |s|
17
17
  s.require_path = 'lib'
18
18
 
19
19
  s.required_ruby_version = '>= 2.3.0'
20
- s.add_dependency 'bricolage', '>= 5.29.2'
21
- s.add_dependency 'pg', '~> 0.18.0'
22
- s.add_dependency 'aws-sdk-s3', '~> 1.8'
20
+ s.add_dependency 'bricolage', '>= 5.30.0', '< 6.0.0'
23
21
  s.add_dependency 'aws-sdk-sqs', '~> 1.3'
22
+ s.add_dependency 'sentry-raven', '~> 3.0'
24
23
  s.add_development_dependency 'rake'
25
24
  s.add_development_dependency 'test-unit'
26
25
  end
@@ -10,8 +10,9 @@ require 'bricolage/streamingload/chunkbuffer'
10
10
  require 'bricolage/streamingload/loadtasklogger'
11
11
  require 'bricolage/streamingload/alertinglogger'
12
12
  require 'yaml'
13
- require 'optparse'
14
13
  require 'fileutils'
14
+ require 'raven'
15
+ require 'optparse'
15
16
 
16
17
  module Bricolage
17
18
 
@@ -20,6 +21,13 @@ module Bricolage
20
21
  class Dispatcher < SQSDataSource::MessageHandler
21
22
 
22
23
  def Dispatcher.main
24
+ Raven.capture_message("dispatcher start")
25
+ Raven.capture {
26
+ _main
27
+ }
28
+ end
29
+
30
+ def Dispatcher._main
23
31
  opts = DispatcherOptions.new(ARGV)
24
32
  opts.parse
25
33
  unless opts.rest_arguments.size == 1
@@ -3,6 +3,7 @@ require 'bricolage/streamingload/manifest'
3
3
  require 'bricolage/sqlutils'
4
4
  require 'socket'
5
5
  require 'json'
6
+ require 'raven'
6
7
 
7
8
  module Bricolage
8
9
 
@@ -44,7 +45,8 @@ module Bricolage
44
45
  def execute(fail_fast: false)
45
46
  execute_task
46
47
  return true
47
- rescue JobCancelled
48
+ rescue JobCancelled => ex
49
+ Raven.capture_exception(ex)
48
50
  return true
49
51
  rescue JobDuplicated
50
52
  return true
@@ -52,20 +54,25 @@ module Bricolage
52
54
  return false
53
55
  rescue ControlConnectionFailed => ex
54
56
  @logger.error ex.message
57
+ Raven.capture_exception(ex)
55
58
  wait_for_connection('ctl', @ctl_ds) unless fail_fast
56
59
  return false
57
60
  rescue DataConnectionFailed => ex
58
61
  @logger.error ex.message
62
+ Raven.capture_exception(ex)
59
63
  wait_for_connection('data', @data_ds) unless fail_fast
60
64
  return false
61
65
  rescue JobFailure => ex
62
66
  @logger.error ex.message
67
+ Raven.capture_exception(ex)
63
68
  return false
64
69
  rescue JobError => ex
65
70
  @logger.error ex.message
71
+ Raven.capture_exception(ex)
66
72
  return false
67
73
  rescue Exception => ex
68
74
  @logger.exception ex
75
+ Raven.capture_exception(ex)
69
76
  return true
70
77
  end
71
78
 
@@ -126,7 +133,11 @@ module Bricolage
126
133
  raise
127
134
  rescue JobError => ex
128
135
  ctl.open {
129
- ctl.abort_job job_id, 'error', ex.message.lines.first.strip
136
+ fail_count = @task.failure_count
137
+ final_retry = (fail_count >= MAX_RETRY)
138
+ retry_msg = (fail_count > 0) ? "(retry\##{fail_count}#{final_retry ? ' FINAL' : ''}) " : ''
139
+ ctl.abort_job job_id, 'error', retry_msg + ex.message.lines.first.strip
140
+ raise JobCancelled, "retry count exceeds limit: task_id=#{@task_id}" if final_retry
130
141
  }
131
142
  raise
132
143
  rescue Exception => ex
@@ -7,6 +7,7 @@ require 'bricolage/logger'
7
7
  require 'bricolage/exception'
8
8
  require 'bricolage/version'
9
9
  require 'yaml'
10
+ require 'raven'
10
11
  require 'optparse'
11
12
 
12
13
  module Bricolage
@@ -16,6 +17,8 @@ module Bricolage
16
17
  class TaskHandler < SQSDataSource::MessageHandler
17
18
 
18
19
  def TaskHandler.main
20
+ Raven.capture_message("loader start")
21
+
19
22
  opts = TaskHandlerOptions.new(ARGV)
20
23
  opts.parse
21
24
  unless opts.rest_arguments.size <= 1
@@ -1,5 +1,5 @@
1
1
  module Bricolage
2
2
  module StreamingLoad
3
- VERSION = '0.16.0'
3
+ VERSION = '0.17.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bricolage-streamingload
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.17.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minero Aoki
8
8
  - Shimpei Kodama
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-08-04 00:00:00.000000000 Z
12
+ date: 2021-08-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bricolage
@@ -17,56 +17,48 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 5.29.2
20
+ version: 5.30.0
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: 6.0.0
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
- version: 5.29.2
28
- - !ruby/object:Gem::Dependency
29
- name: pg
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
30
+ version: 5.30.0
31
+ - - "<"
33
32
  - !ruby/object:Gem::Version
34
- version: 0.18.0
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: 0.18.0
33
+ version: 6.0.0
42
34
  - !ruby/object:Gem::Dependency
43
- name: aws-sdk-s3
35
+ name: aws-sdk-sqs
44
36
  requirement: !ruby/object:Gem::Requirement
45
37
  requirements:
46
38
  - - "~>"
47
39
  - !ruby/object:Gem::Version
48
- version: '1.8'
40
+ version: '1.3'
49
41
  type: :runtime
50
42
  prerelease: false
51
43
  version_requirements: !ruby/object:Gem::Requirement
52
44
  requirements:
53
45
  - - "~>"
54
46
  - !ruby/object:Gem::Version
55
- version: '1.8'
47
+ version: '1.3'
56
48
  - !ruby/object:Gem::Dependency
57
- name: aws-sdk-sqs
49
+ name: sentry-raven
58
50
  requirement: !ruby/object:Gem::Requirement
59
51
  requirements:
60
52
  - - "~>"
61
53
  - !ruby/object:Gem::Version
62
- version: '1.3'
54
+ version: '3.0'
63
55
  type: :runtime
64
56
  prerelease: false
65
57
  version_requirements: !ruby/object:Gem::Requirement
66
58
  requirements:
67
59
  - - "~>"
68
60
  - !ruby/object:Gem::Version
69
- version: '1.3'
61
+ version: '3.0'
70
62
  - !ruby/object:Gem::Dependency
71
63
  name: rake
72
64
  requirement: !ruby/object:Gem::Requirement
@@ -160,7 +152,7 @@ homepage: https://github.com/aamine/bricolage-streamingload
160
152
  licenses:
161
153
  - MIT
162
154
  metadata: {}
163
- post_install_message:
155
+ post_install_message:
164
156
  rdoc_options: []
165
157
  require_paths:
166
158
  - lib
@@ -175,8 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
167
  - !ruby/object:Gem::Version
176
168
  version: '0'
177
169
  requirements: []
178
- rubygems_version: 3.1.2
179
- signing_key:
170
+ rubygems_version: 3.1.4
171
+ signing_key:
180
172
  specification_version: 4
181
173
  summary: Bricolage Streaming Load Daemon
182
174
  test_files: []