embulk-input-s3 0.2.14 → 0.2.15

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: a69ebc7bdba28093d994a2e19842c108f265b1a0
4
- data.tar.gz: 2ca38204ff6fc9a01d9032e7c6ceb0a3a38f4629
3
+ metadata.gz: 6efa3b427ccee34a13fae779d053ea5863a676e7
4
+ data.tar.gz: a54eec2a80f7003d4a7bdeff529e152fe8a7ed3b
5
5
  SHA512:
6
- metadata.gz: ddc5c1c7f780bd1bc4cad5c1647795d7e25d1564d6d9611970ae86b519f3bb94546e06c6138bc4509df9173453bbeedb2bb31ea90b0759b7dada73b54a1050b9
7
- data.tar.gz: d598b8687a1490cfb40d01ea3f730736ae4053848a6ffa630757aad63feab774caa3910e276819db52e58ed72b93a4eedfbe9f56cef7089d925787d77370f987
6
+ metadata.gz: 35d00e37563f72c184f1bf9f02186927975a14d9eae0bf2ea240fe31c94b28414b70c1574494be19833305a9908e72081a1b5356da570b48d85106366666cdd3
7
+ data.tar.gz: 7de346f325126fbc1d1ebd5ca7f36269945bc5d7e9227d4b6bfb88f7b0c56327ed2c95b902377b5c84e297898b9e98a6f14021b0634a0da8c18aed23f8d96c63
@@ -47,7 +47,7 @@ import static org.embulk.spi.util.RetryExecutor.retryExecutor;
47
47
  public abstract class AbstractS3FileInputPlugin
48
48
  implements FileInputPlugin
49
49
  {
50
- private final Logger log = Exec.getLogger(S3FileInputPlugin.class);
50
+ private static final Logger LOGGER = Exec.getLogger(S3FileInputPlugin.class);
51
51
 
52
52
  public interface PluginTask
53
53
  extends AwsCredentialsTask, FileList.Task, Task
@@ -119,9 +119,10 @@ public abstract class AbstractS3FileInputPlugin
119
119
 
120
120
  // last_path
121
121
  if (task.getIncremental()) {
122
- configDiff.set("last_path", task.getFiles().getLastPath(task.getLastPath()));
122
+ Optional<String> lastPath = task.getFiles().getLastPath(task.getLastPath());
123
+ LOGGER.info("Incremental job, setting last_path to [{}]", lastPath.orNull());
124
+ configDiff.set("last_path", lastPath);
123
125
  }
124
-
125
126
  return configDiff;
126
127
  }
127
128
 
@@ -201,17 +202,19 @@ public abstract class AbstractS3FileInputPlugin
201
202
 
202
203
  private FileList listFiles(PluginTask task)
203
204
  {
205
+ LOGGER.info("Start listing file with prefix [{}]", task.getPathPrefix());
204
206
  try {
205
207
  AmazonS3 client = newS3Client(task);
206
208
  String bucketName = task.getBucket();
207
209
 
208
210
  if (task.getPathPrefix().equals("/")) {
209
- log.info("Listing files with prefix \"/\". This doesn't mean all files in a bucket. If you intend to read all files, use \"path_prefix: ''\" (empty string) instead.");
211
+ LOGGER.info("Listing files with prefix \"/\". This doesn't mean all files in a bucket. If you intend to read all files, use \"path_prefix: ''\" (empty string) instead.");
210
212
  }
211
213
 
212
214
  FileList.Builder builder = new FileList.Builder(task);
213
215
  listS3FilesByPrefix(builder, client, bucketName,
214
216
  task.getPathPrefix(), task.getLastPath(), task.getSkipGlacierObjects());
217
+ LOGGER.info("Found total [{}] files", builder.size());
215
218
  return builder.build();
216
219
  }
217
220
  catch (AmazonServiceException ex) {
@@ -253,6 +256,7 @@ public abstract class AbstractS3FileInputPlugin
253
256
  if (s.getSize() > 0) {
254
257
  builder.add(s.getKey(), s.getSize());
255
258
  if (!builder.needsMore()) {
259
+ LOGGER.warn("Too many files matched, stop listing file");
256
260
  return;
257
261
  }
258
262
  }
@@ -326,6 +330,7 @@ public abstract class AbstractS3FileInputPlugin
326
330
  public void onGiveup(Exception firstException, Exception lastException)
327
331
  throws RetryGiveupException
328
332
  {
333
+ log.error("Giving up retry, first exception is [{}], last exception is [{}]", firstException.getMessage(), lastException.getMessage());
329
334
  }
330
335
  });
331
336
  }
@@ -384,9 +389,12 @@ public abstract class AbstractS3FileInputPlugin
384
389
  if (!iterator.hasNext()) {
385
390
  return null;
386
391
  }
387
- GetObjectRequest request = new GetObjectRequest(bucket, iterator.next());
392
+ String key = iterator.next();
393
+ GetObjectRequest request = new GetObjectRequest(bucket, key);
388
394
  S3Object obj = client.getObject(request);
389
- return new ResumableInputStream(obj.getObjectContent(), new S3InputStreamReopener(client, request, obj.getObjectMetadata().getContentLength()));
395
+ long objectSize = obj.getObjectMetadata().getContentLength();
396
+ LOGGER.info("Open S3Object with bucket [{}], key [{}], with size [{}]", bucket, key, objectSize);
397
+ return new ResumableInputStream(obj.getObjectContent(), new S3InputStreamReopener(client, request, objectSize));
390
398
  }
391
399
 
392
400
  @Override
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.14
4
+ version: 0.2.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-05 00:00:00.000000000 Z
11
+ date: 2018-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -61,8 +61,8 @@ files:
61
61
  - classpath/aws-java-sdk-kms-1.11.253.jar
62
62
  - classpath/aws-java-sdk-s3-1.11.253.jar
63
63
  - classpath/commons-codec-1.9.jar
64
- - classpath/embulk-input-s3-0.2.14.jar
65
- - classpath/embulk-util-aws-credentials-0.2.14.jar
64
+ - classpath/embulk-input-s3-0.2.15.jar
65
+ - classpath/embulk-util-aws-credentials-0.2.15.jar
66
66
  - classpath/httpclient-4.5.2.jar
67
67
  - classpath/httpcore-4.4.4.jar
68
68
  - classpath/ion-java-1.0.2.jar