embulk-output-elasticsearch 0.4.2 → 0.4.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3be5c4aa4a859ab429375abbbb219665ea4036c0
|
4
|
+
data.tar.gz: 75f3d82aa911310d760f8669ab6c27ae6b8aa65d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e606d402f49e8b7945e220e7a3fbdda72b4a86dc9a012155dc7bd2c94808ebd870b96af7fd551e8c9360e1ff4a707cb2b5f48f032ab69324347b1b431b3d007c
|
7
|
+
data.tar.gz: fb66e9cce399d2aa864330526524c2c4de8ed5ea48296fae0a89b7565e68cf653da3ecfc901e0317008e208714ac4321333d1962a9d4a79fd0c503814573f9a3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.4.3 - 2017-06-12
|
2
|
+
|
3
|
+
* [maintenance] Improve exception handling [#38](https://github.com/muga/embulk-output-elasticsearch/pull/38)
|
4
|
+
* [maintenance] Fix ElasticsearchRecordBuffer to call retryHelper.close() [#39](https://github.com/muga/embulk-output-elasticsearch/pull/39)
|
5
|
+
|
1
6
|
## 0.4.2 - 2017-05-31
|
2
7
|
|
3
8
|
* [maintenance] Update embulk-base-restclient to fix ArrayIndexOutOfBoundsException [#37](https://github.com/muga/embulk-output-elasticsearch/pull/37)
|
data/build.gradle
CHANGED
@@ -310,50 +310,51 @@ public class ElasticsearchHttpClient
|
|
310
310
|
return sendRequest(path, method, task, retryHelper, "");
|
311
311
|
}
|
312
312
|
|
313
|
-
private JsonNode sendRequest(String path, final HttpMethod method, PluginTask task, Jetty92RetryHelper retryHelper, final String content)
|
313
|
+
private JsonNode sendRequest(String path, final HttpMethod method, final PluginTask task, Jetty92RetryHelper retryHelper, final String content)
|
314
314
|
{
|
315
315
|
final String uri = createRequestUri(task, path);
|
316
316
|
final String authorizationHeader = getAuthorizationHeader(task);
|
317
317
|
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
request.content(new StringContentProvider(content), "application/json");
|
331
|
-
}
|
332
|
-
|
333
|
-
if (!authorizationHeader.isEmpty()) {
|
334
|
-
request.header("Authorization", authorizationHeader);
|
335
|
-
}
|
336
|
-
request.send(responseListener);
|
318
|
+
String responseBody = retryHelper.requestWithRetry(
|
319
|
+
new StringJetty92ResponseEntityReader(task.getTimeoutMills()),
|
320
|
+
new Jetty92SingleRequester() {
|
321
|
+
@Override
|
322
|
+
public void requestOnce(org.eclipse.jetty.client.HttpClient client, org.eclipse.jetty.client.api.Response.Listener responseListener)
|
323
|
+
{
|
324
|
+
org.eclipse.jetty.client.api.Request request = client
|
325
|
+
.newRequest(uri)
|
326
|
+
.accept("application/json")
|
327
|
+
.method(method);
|
328
|
+
if (method == HttpMethod.POST) {
|
329
|
+
request.content(new StringContentProvider(content), "application/json");
|
337
330
|
}
|
338
331
|
|
339
|
-
|
340
|
-
|
341
|
-
{
|
342
|
-
int status = response.getStatus();
|
343
|
-
if (status == 429) {
|
344
|
-
return true; // Retry if 429.
|
345
|
-
}
|
346
|
-
return status / 100 != 4; // Retry unless 4xx except for 429.
|
332
|
+
if (!authorizationHeader.isEmpty()) {
|
333
|
+
request.header("Authorization", authorizationHeader);
|
347
334
|
}
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
335
|
+
request.send(responseListener);
|
336
|
+
}
|
337
|
+
|
338
|
+
@Override
|
339
|
+
public boolean isExceptionToRetry(Exception exception)
|
340
|
+
{
|
341
|
+
return task.getId().isPresent();
|
342
|
+
}
|
343
|
+
|
344
|
+
@Override
|
345
|
+
public boolean isResponseStatusToRetry(org.eclipse.jetty.client.api.Response response)
|
346
|
+
{
|
347
|
+
int status = response.getStatus();
|
348
|
+
if (status == 404) {
|
349
|
+
throw new ResourceNotFoundException("Requested resource was not found");
|
350
|
+
}
|
351
|
+
else if (status == 429) {
|
352
|
+
return true; // Retry if 429.
|
353
|
+
}
|
354
|
+
return status / 100 != 4; // Retry unless 4xx except for 429.
|
355
|
+
}
|
356
|
+
});
|
357
|
+
return parseJson(responseBody);
|
357
358
|
}
|
358
359
|
|
359
360
|
private String createRequestUri(PluginTask task, String path)
|
@@ -403,6 +404,11 @@ public class ElasticsearchHttpClient
|
|
403
404
|
{
|
404
405
|
}
|
405
406
|
|
407
|
+
public ResourceNotFoundException(String message)
|
408
|
+
{
|
409
|
+
super(message);
|
410
|
+
}
|
411
|
+
|
406
412
|
public ResourceNotFoundException(Throwable cause)
|
407
413
|
{
|
408
414
|
super(cause);
|
@@ -88,12 +88,15 @@ public class ElasticsearchRecordBuffer
|
|
88
88
|
@Override
|
89
89
|
public TaskReport commitWithTaskReportUpdated(TaskReport taskReport)
|
90
90
|
{
|
91
|
-
|
92
|
-
|
93
|
-
|
91
|
+
try {
|
92
|
+
if (records.size() > 0) {
|
93
|
+
client.push(records, task, retryHelper);
|
94
|
+
log.info("Inserted {} records", records.size());
|
95
|
+
}
|
96
|
+
return Exec.newTaskReport().set("inserted", totalCount);
|
97
|
+
}
|
98
|
+
finally {
|
99
|
+
this.retryHelper.close();
|
94
100
|
}
|
95
|
-
|
96
|
-
this.retryHelper.close();
|
97
|
-
return Exec.newTaskReport().set("inserted", totalCount);
|
98
101
|
}
|
99
102
|
}
|
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-output-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Muga Nishizawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
14
20
|
requirement: !ruby/object:Gem::Requirement
|
15
21
|
requirements:
|
16
22
|
- - '>='
|
17
23
|
- !ruby/object:Gem::Version
|
18
24
|
version: '1.0'
|
19
|
-
name: bundler
|
20
25
|
prerelease: false
|
21
26
|
type: :development
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
22
29
|
version_requirements: !ruby/object:Gem::Requirement
|
23
30
|
requirements:
|
24
31
|
- - '>='
|
25
32
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
27
|
-
- !ruby/object:Gem::Dependency
|
33
|
+
version: '10.0'
|
28
34
|
requirement: !ruby/object:Gem::Requirement
|
29
35
|
requirements:
|
30
36
|
- - '>='
|
31
37
|
- !ruby/object:Gem::Version
|
32
38
|
version: '10.0'
|
33
|
-
name: rake
|
34
39
|
prerelease: false
|
35
40
|
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: test-unit
|
36
43
|
version_requirements: !ruby/object:Gem::Requirement
|
37
44
|
requirements:
|
38
|
-
- -
|
45
|
+
- - ~>
|
39
46
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
- !ruby/object:Gem::Dependency
|
47
|
+
version: 3.0.2
|
42
48
|
requirement: !ruby/object:Gem::Requirement
|
43
49
|
requirements:
|
44
50
|
- - ~>
|
45
51
|
- !ruby/object:Gem::Version
|
46
52
|
version: 3.0.2
|
47
|
-
name: test-unit
|
48
53
|
prerelease: false
|
49
54
|
type: :development
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.0.2
|
55
55
|
description: Elasticsearch output plugin is an Embulk plugin that loads records to Elasticsearch read by any input plugins. Search the input plugins by "embulk-input" keyword.
|
56
56
|
email:
|
57
57
|
- muga.nishizawa@gmail.com
|
@@ -83,7 +83,7 @@ files:
|
|
83
83
|
- src/test/java/org/embulk/output/elasticsearch/TestElasticsearchOutputPlugin.java
|
84
84
|
- src/test/resources/sample_01.csv
|
85
85
|
- classpath/embulk-base-restclient-0.5.2.jar
|
86
|
-
- classpath/embulk-output-elasticsearch-0.4.
|
86
|
+
- classpath/embulk-output-elasticsearch-0.4.3.jar
|
87
87
|
- classpath/embulk-util-retryhelper-jetty92-0.5.2.jar
|
88
88
|
- classpath/jetty-client-9.2.14.v20151106.jar
|
89
89
|
- classpath/jetty-http-9.2.14.v20151106.jar
|