arvados 2.3.2 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/arvados.rb +24 -1
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71f2c2b74a66c77bae78b0491d7b645ab04fda1f52fd99d59decd6c0d5e2937f
4
- data.tar.gz: 94981c95d7c0958d184bae3613390998b72cfe23113b0d21fca566d5e17dd02d
3
+ metadata.gz: d3803d37166d87eeb87057626b8c578fd1f7b52cea3ce756ade4c3d42bcda8e7
4
+ data.tar.gz: 7968249bd3f23494aa4174896c5c6f5cde506ce42278857d0c1e4d9e4c11947e
5
5
  SHA512:
6
- metadata.gz: 5e7124a399e596a6a3b0efb49a3e9271ecb20d83a3716f5635b28c8c7c9c890df2ac09d6a88753eb18cddfd0f469bfd071e53d0e817a095dcf961f3272f446c0
7
- data.tar.gz: 5c221140aae53fd3eb6897643b16d776436bd48635ce6025db09895819d2c812acb185e679eb4ba1b8a3139b0365d5ee8065bfaac6893d26f84f5752b50ab945
6
+ metadata.gz: 99f91ecfb2f02ae7d0326b15109b8261222c932895f495a2916d208f8d86a595ed0b1577bace601f416a059942f32dec7abf305eca769bac73c34ac20bd3e35b
7
+ data.tar.gz: 1a21b5f661da43fc8e7c2d67267f9b4b477e9d8cb053183c216ae51dec57af26c4b616b2f6a84b9a106d3a7a3e512e527f8bf4d6d2e71260adc7734c765893ad
data/lib/arvados.rb CHANGED
@@ -16,6 +16,26 @@ ActiveSupport::Inflector.inflections do |inflect|
16
16
  end
17
17
 
18
18
  class Arvados
19
+ class ArvadosClient < Google::APIClient
20
+ attr_reader :request_id
21
+
22
+ def execute(*args)
23
+ @request_id = "req-" + Random::DEFAULT.rand(2**128).to_s(36)[0..19]
24
+ if args.last.is_a? Hash
25
+ args.last[:headers] ||= {}
26
+ args.last[:headers]['X-Request-Id'] = @request_id
27
+ end
28
+ begin
29
+ super(*args)
30
+ rescue => e
31
+ if !e.message.match(/.*req-[0-9a-zA-Z]{20}.*/)
32
+ raise $!, "#{$!} (Request ID: #{@request_id})", $!.backtrace
33
+ end
34
+ raise e
35
+ end
36
+ end
37
+ end
38
+
19
39
  class TransactionFailedError < StandardError
20
40
  end
21
41
 
@@ -101,7 +121,7 @@ class Arvados
101
121
  end
102
122
 
103
123
  def client
104
- @client ||= Google::APIClient.
124
+ @client ||= ArvadosClient.
105
125
  new(:host => config["ARVADOS_API_HOST"],
106
126
  :application_name => @application_name,
107
127
  :application_version => @application_version.to_s)
@@ -207,6 +227,9 @@ class Arvados
207
227
  })
208
228
  resp = JSON.parse result.body, :symbolize_names => true
209
229
  if resp[:errors]
230
+ if !resp[:errors][0].match(/.*req-[0-9a-zA-Z]{20}.*/)
231
+ resp[:errors][0] += " (#{result.headers['X-Request-Id'] or client.request_id})"
232
+ end
210
233
  raise Arvados::TransactionFailedError.new(resp[:errors])
211
234
  elsif resp[:uuid] and resp[:etag]
212
235
  self.new(resp)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arvados
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arvados Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-06 00:00:00.000000000 Z
11
+ date: 2022-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -132,7 +132,7 @@ dependencies:
132
132
  - - "<"
133
133
  - !ruby/object:Gem::Version
134
134
  version: '2'
135
- description: Arvados client library, git commit 2462bc7f4efbb51b0d4532833d93edb4aefd9b59
135
+ description: Arvados client library, git commit f4554a781a3f6806783cbc6f116c3d7e974c6952
136
136
  email: packaging@arvados.org
137
137
  executables: []
138
138
  extensions: []