esse 0.5.1 → 0.5.3
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 +4 -4
- data/lib/esse/import/bulk.rb +13 -4
- data/lib/esse/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8a3eef275e851fd5c27b8772578e2bb24c694485a28f1bd7b729d6a32f0b9fae
|
|
4
|
+
data.tar.gz: 7162ec8bd979268a70e456236efd420428e55a5fc902e2b01dfecfb71ea48b1c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a2f30bbec5a7030637c189e4bb40b7a5c360541d8b840a226fe4529f837dc565db30a7d34816c7f55faff09fd41dba04649b9ffb16aa2734ec74df3e7077791a
|
|
7
|
+
data.tar.gz: 1b31caae16fe725266bad10e30301d453cd70eb45d3fa9f58de30fa6eb1e266b60f9808bfd82b73f9733dbfa9f105bdbc9dbe3716e5b7472827585aa7a65fb2e
|
data/lib/esse/import/bulk.rb
CHANGED
|
@@ -61,12 +61,15 @@ module Esse
|
|
|
61
61
|
|
|
62
62
|
raise e unless last_retry_per_document
|
|
63
63
|
requests = requests_per_document
|
|
64
|
+
ids = document_ids
|
|
65
|
+
id_info = ids.any? ? " (document IDs: #{ids.join(', ')})" : ''
|
|
64
66
|
Esse.logger.warn <<~MSG
|
|
65
|
-
Request entity too large after balancing, retrying one document per request as a last resort.
|
|
67
|
+
Request entity too large after balancing, retrying one document per request as a last resort#{id_info}.
|
|
66
68
|
If a single document still exceeds the bulk size, the error will be raised.
|
|
67
69
|
MSG
|
|
68
70
|
retry
|
|
69
|
-
rescue
|
|
71
|
+
rescue Faraday::ConnectionFailed,
|
|
72
|
+
Esse::Transport::BadGatewayError,
|
|
70
73
|
Esse::Transport::ServiceUnavailableError,
|
|
71
74
|
Esse::Transport::GatewayTimeoutError,
|
|
72
75
|
Esse::Transport::TooManyRequestsError => e
|
|
@@ -92,9 +95,11 @@ module Esse
|
|
|
92
95
|
|
|
93
96
|
def requests_in_small_chunks(chunk_size: 1)
|
|
94
97
|
arr = build_per_document_requests(chunk_size: chunk_size)
|
|
98
|
+
ids = document_ids
|
|
99
|
+
id_info = ids.any? ? " (document IDs: #{ids.join(', ')})" : ''
|
|
95
100
|
Esse.logger.warn <<~MSG
|
|
96
|
-
|
|
97
|
-
|
|
101
|
+
Timeout error, retrying one document per request as a last resort#{id_info}.
|
|
102
|
+
Consider increasing the bulk size or reducing the batch size.
|
|
98
103
|
MSG
|
|
99
104
|
arr
|
|
100
105
|
end
|
|
@@ -103,6 +108,10 @@ module Esse
|
|
|
103
108
|
build_per_document_requests(chunk_size: 1)
|
|
104
109
|
end
|
|
105
110
|
|
|
111
|
+
def document_ids
|
|
112
|
+
(@create + @index + @update + @delete).filter_map { |op| op.values.first[:_id] }
|
|
113
|
+
end
|
|
114
|
+
|
|
106
115
|
def build_per_document_requests(chunk_size: 1)
|
|
107
116
|
arr = []
|
|
108
117
|
@create.each_slice(chunk_size) { |slice| arr << Import::RequestBodyAsJson.new.tap { |r| r.create = slice } }
|
data/lib/esse/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: esse
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Marcos G. Zimmermann
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exec
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: multi_json
|