Skip to content

Commit

Permalink
Support embulk util retryhelper jetty version 94 (#64)
Browse files Browse the repository at this point in the history
  • Loading branch information
vokhanhhuy committed Apr 4, 2024
1 parent 9e97677 commit 9893745
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 22 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## 0.3.33 - 2024-04-03
- Upgrade `jetty92` to `jetty94` to support TLS1.3

## 0.3.31 - 2021-03-18

- Upgrade `embulk-*` to `v0.10.25`.
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repositories {
}

group = "com.treasuredata.embulk.plugins"
version = "0.3.32"
version = "0.3.33"
description = "Embulk output plugin for Mailchimp"

sourceCompatibility = 1.8
Expand Down Expand Up @@ -47,7 +47,7 @@ dependencies {
compile 'javax.validation:validation-api:1.1.0.Final'

compile 'org.embulk:embulk-base-restclient:0.10.1'
compile 'org.embulk:embulk-util-retryhelper-jetty92:0.8.2'
compile 'org.embulk:embulk-util-retryhelper-jetty94:0.9.0'

compile 'com.google.guava:guava:18.0'
compile "com.google.code.findbugs:annotations:3.0.1"
Expand Down
12 changes: 6 additions & 6 deletions gradle/dependency-locks/embulkPluginRuntime.lockfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ com.google.code.findbugs:jsr305:3.0.1
com.google.guava:guava:18.0
javax.validation:validation-api:1.1.0.Final
net.jcip:jcip-annotations:1.0
org.eclipse.jetty:jetty-client:9.2.14.v20151106
org.eclipse.jetty:jetty-http:9.2.14.v20151106
org.eclipse.jetty:jetty-io:9.2.14.v20151106
org.eclipse.jetty:jetty-util:9.2.14.v20151106
org.eclipse.jetty:jetty-client:9.4.51.v20230217
org.eclipse.jetty:jetty-http:9.4.51.v20230217
org.eclipse.jetty:jetty-io:9.4.51.v20230217
org.eclipse.jetty:jetty-util:9.4.51.v20230217
org.embulk:embulk-base-restclient:0.10.1
org.embulk:embulk-util-config:0.3.1
org.embulk:embulk-util-json:0.1.1
org.embulk:embulk-util-retryhelper-jetty92:0.8.2
org.embulk:embulk-util-retryhelper:0.8.2
org.embulk:embulk-util-retryhelper-jetty94:0.9.0
org.embulk:embulk-util-retryhelper:0.9.0
org.embulk:embulk-util-rubytime:0.3.2
org.embulk:embulk-util-timestamp:0.2.1
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
import org.embulk.base.restclient.jackson.StringJsonParser;
import org.embulk.config.ConfigException;
import org.embulk.output.mailchimp.MailChimpOutputPluginDelegate.PluginTask;
import org.embulk.util.retryhelper.jetty92.DefaultJetty92ClientCreator;
import org.embulk.util.retryhelper.jetty92.Jetty92RetryHelper;
import org.embulk.util.retryhelper.jetty92.Jetty92SingleRequester;
import org.embulk.util.retryhelper.jetty94.DefaultJetty94ClientCreator;
import org.embulk.util.retryhelper.jetty94.Jetty94RetryHelper;
import org.embulk.util.retryhelper.jetty94.Jetty94SingleRequester;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -34,18 +34,18 @@ public class MailChimpRetryable implements AutoCloseable
private static final Logger LOG = LoggerFactory.getLogger(MailChimpRetryable.class);
private static final int READER_TIMEOUT_MILLIS = 300000;
private static final String API_VERSION = "3.0";
private final Jetty92RetryHelper retryHelper;
private final Jetty94RetryHelper retryHelper;
private final PluginTask pluginTask;
private static TokenHolder tokenHolder;
protected StringJsonParser jsonParser = new StringJsonParser();
private String authorizationHeader;

public MailChimpRetryable(final PluginTask pluginTask)
{
this.retryHelper = new Jetty92RetryHelper(pluginTask.getRetryLimit(),
this.retryHelper = new Jetty94RetryHelper(pluginTask.getRetryLimit(),
pluginTask.getRetryInitialWaitMSec(),
pluginTask.getMaxRetryWaitMSec(),
new DefaultJetty92ClientCreator(pluginTask.getTimeoutMillis(),
new DefaultJetty94ClientCreator(pluginTask.getTimeoutMillis(),
pluginTask.getTimeoutMillis()));
this.pluginTask = pluginTask;
authorizationHeader = buildAuthorizationHeader(pluginTask);
Expand All @@ -65,8 +65,8 @@ private String sendRequest(final String path, final StringContentProvider conten
{
try {
return retryHelper.requestWithRetry(
new PatchedStringJetty92ResponseEntityReader(READER_TIMEOUT_MILLIS),
new Jetty92SingleRequester()
new PatchedStringJetty94ResponseEntityReader(READER_TIMEOUT_MILLIS),
new Jetty94SingleRequester()
{
@Override
public void requestOnce(HttpClient client, Response.Listener responseListener)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,23 @@
import com.google.common.io.CharStreams;
import org.eclipse.jetty.client.api.Response;
import org.eclipse.jetty.client.util.InputStreamResponseListener;
import org.embulk.util.retryhelper.jetty92.Jetty92ResponseReader;
import org.embulk.util.retryhelper.jetty94.Jetty94ResponseReader;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.concurrent.TimeUnit;

/**
* A copy of {@link org.embulk.util.retryhelper.jetty92.StringJetty92ResponseEntityReader} with the only
* modification is {@link PatchedStringJetty92ResponseEntityReader#getListener()} to return a new instance every time.
* This might eventually get fixed upstream (Jetty92RetryHelper aware of Jetty92ResponseReader is stateful),
* A copy of {@link org.embulk.util.retryhelper.jetty94.StringJetty94ResponseEntityReader} with the only
* modification is {@link PatchedStringJetty94ResponseEntityReader#getListener()} to return a new instance every time.
* This might eventually get fixed upstream (Jetty94RetryHelper aware of Jetty94ResponseReader is stateful),
*/
public class PatchedStringJetty92ResponseEntityReader implements Jetty92ResponseReader<String>
public class PatchedStringJetty94ResponseEntityReader implements Jetty94ResponseReader<String>
{
private InputStreamResponseListener listener;
private final long timeoutMillis;

public PatchedStringJetty92ResponseEntityReader(long timeoutMillis)
public PatchedStringJetty94ResponseEntityReader(long timeoutMillis)
{
this.listener = new InputStreamResponseListener();
this.timeoutMillis = timeoutMillis;
Expand Down

0 comments on commit 9893745

Please sign in to comment.