arvados 2.3.2 → 2.4.1

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.
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: []