libhoney 2.0.0 → 2.1.0

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: c346ba7e750c99063736cd641e10eb153f9a1326b1bf17231e7c89ad312d102a
4
- data.tar.gz: 5f16185c3b43ce38f0323861244966ccc6df2404c5b7c05f712c530d25f193d6
3
+ metadata.gz: 87accb91b956f38c24050ebc8931d49041ab02551c394a7447434730eb827f18
4
+ data.tar.gz: 899a27302a4e04e2ac50af6f792a8515b252a838bb6b09d9471bf6aab9058cbc
5
5
  SHA512:
6
- metadata.gz: 5c4ebb204f1f7fa8cbc602442d6672753d2395b53a9cbae3f4ca61e2a96fa17e54c2206c55cfdb7ec32e1349daa64f70cfffd755e957f2060ab7231791420bc5
7
- data.tar.gz: 07be9a04ccb025acc0b9e05e0e1fea17a1bd5b694ef9ec0443b0e5638d3b9a024502e05d7d677d752920c81d36249008ed4f226f293c8f5b3dfa469c7ac5b528
6
+ metadata.gz: 42b5a14b536bdda18f2900e2767c4702dd16e5a441300830c9a6cd7ae15d3e4c7d6b0edb3346bb278f239731b16ca8bc807851d57d3d3ad6da185782a48bf64c
7
+ data.tar.gz: 1e764f94ded5a848f6a90197f340d31efbc13b2fa6eae9f7be2444a19b8a8e65165356d68cd76dd51f5ce8910e742db9fd8a49546170b4dafa4d99471445979d
@@ -8,7 +8,7 @@ updates:
8
8
  - package-ecosystem: "bundler" # See documentation for possible values
9
9
  directory: "/" # Location of package manifests
10
10
  schedule:
11
- interval: "weekly"
11
+ interval: "monthly"
12
12
  labels:
13
13
  - "type: dependencies"
14
14
  reviewers:
@@ -1,5 +1,5 @@
1
1
  name: Apply project labels
2
- on: [issues, pull_request, label]
2
+ on: [issues, pull_request_target, label]
3
3
  jobs:
4
4
  apply-labels:
5
5
  runs-on: ubuntu-latest
@@ -0,0 +1,12 @@
1
+ name: Re-triage issues with new comments
2
+ on:
3
+ issue_comment:
4
+ types: [created]
5
+ jobs:
6
+ re-triage:
7
+ runs-on: ubuntu-latest
8
+ name: Re-triage issues with new comments
9
+ steps:
10
+ - uses: honeycombio/oss-management-actions/re-triage@v1
11
+ with:
12
+ ghprojects-token: ${{ secrets.GHPROJECTS_TOKEN }}
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [2.1.0] - 2022-02-02
2
+
3
+ ### Improvements
4
+
5
+ - Retry an event batch send once if the connection appears to have been closed by the server due to idleness (#120) | [MikeGoldsmith](https://github.com/MikeGoldsmith)
6
+
7
+ ### Maintenance
8
+
9
+ - gh: add re-triage workflow (#117) | [vreynolds](https://github.com/vreynolds)
10
+ - Update dependabot to monthly (#116) | [vreynolds](https://github.com/vreynolds)
11
+ - empower apply-labels action to apply labels (#115) | [robbkidd](https://github.com/robbkidd)
12
+
1
13
  ## [2.0.0] - 2021-10-07
2
14
 
3
15
  ### 💥 Breaking Changes
@@ -28,7 +40,7 @@
28
40
 
29
41
  ## 1.20.0
30
42
 
31
- ### Fixes
43
+ ### Fixes
32
44
 
33
45
  - Handle Timeout::Error in TransmissionClient (#95) | [Adam Pohorecki](https://github.com/psyho)
34
46
 
@@ -74,7 +86,7 @@
74
86
 
75
87
  - Don't moneypatch Class (#70)
76
88
 
77
- ### Maintenance:
89
+ ### Maintenance:
78
90
 
79
91
  - Add lockfile to gitignore (#71)
80
92
 
@@ -74,11 +74,7 @@ module Libhoney
74
74
  'X-Honeycomb-Team' => writekey
75
75
  }
76
76
 
77
- response = http.post(
78
- path: "/1/batch/#{Addressable::URI.escape(dataset)}",
79
- body: body,
80
- headers: headers
81
- )
77
+ response = send_with_retry(http, dataset, body, headers)
82
78
  process_response(response, before, batch)
83
79
  rescue Exception => e
84
80
  # catch a broader swath of exceptions than is usually good practice,
@@ -337,5 +333,33 @@ module Libhoney
337
333
  h[api_host] = client
338
334
  end
339
335
  end
336
+
337
+ def send_with_retry(client, dataset, body, headers)
338
+ attempts = 0
339
+ begin
340
+ attempts += 1
341
+ client.post(
342
+ path: "/1/batch/#{Addressable::URI.escape(dataset)}",
343
+ body: body,
344
+ headers: headers
345
+ )
346
+ rescue Excon::Error::Socket => e
347
+ case e.socket_error
348
+ when EOFError
349
+ # The server may have closed an idle connection, but only
350
+ # half-way. In this scenario, Excon will receive an EOFError
351
+ # when attempting to post to the connection. We'll allow one
352
+ # retry after resetting the connection.
353
+ # We're not using Excon's idempotent retries because we only
354
+ # want to retry in the specific case of this exception, not
355
+ # retry all errors. Setting Excons :retry_errors param did not
356
+ # succeed in catching this situation.
357
+ client.reset
358
+ retry if attempts < 2
359
+ else
360
+ raise e
361
+ end
362
+ end
363
+ end
340
364
  end
341
365
  end
@@ -1,3 +1,3 @@
1
1
  module Libhoney
2
- VERSION = '2.0.0'.freeze
2
+ VERSION = '2.1.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libhoney
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Honeycomb.io Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-07 00:00:00.000000000 Z
11
+ date: 2022-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bump
@@ -258,6 +258,7 @@ files:
258
258
  - ".github/dependabot.yml"
259
259
  - ".github/workflows/add-to-project.yml"
260
260
  - ".github/workflows/apply-labels.yml"
261
+ - ".github/workflows/re-triage.yml"
261
262
  - ".github/workflows/stale.yml"
262
263
  - ".gitignore"
263
264
  - ".rubocop.yml"
@@ -314,7 +315,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
314
315
  - !ruby/object:Gem::Version
315
316
  version: '0'
316
317
  requirements: []
317
- rubygems_version: 3.2.22
318
+ rubygems_version: 3.2.32
318
319
  signing_key:
319
320
  specification_version: 4
320
321
  summary: send data to Honeycomb