Clone Tools
  • last updated 19 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
HADOOP-16085. S3Guard: use object version or etags to protect against inconsistent read after replace/overwrite.

Contributed by Ben Roling.

S3Guard will now track the etag of uploaded files and, if an S3

bucket is versioned, the object version.

You can then control how to react to a mismatch between the data

in the DynamoDB table and that in the store: warn, fail, or, when

using versions, return the original value.

This adds two new columns to the table: etag and version.

This is transparent to older S3A clients -but when such clients

add/update data to the S3Guard table, they will not add these values.

As a result, the etag/version checks will not work with files uploaded by older clients.

For a consistent experience, upgrade all clients to use the latest hadoop version.

    • -0
    • +20
    ./s3a/RemoteFileChangedException.java
    • -0
    • +63
    ./s3a/S3ALocatedFileStatus.java
    • -10
    • +138
    ./s3a/impl/ChangeDetectionPolicy.java
    • -14
    • +133
    ./s3a/impl/ChangeTracker.java
    • -0
    • +80
    ./s3a/impl/CopyOutcome.java
  1. … 41 more files in changeset.
HADOOP-16278. With S3A Filesystem, Long Running services End up Doing lot of GC and eventually die.

Contributed by Rajat Khandelwal

(cherry picked from commit 591ca698230f25217c10c7549aff8097baa11f1e)

HADOOP-16278. With S3A Filesystem, Long Running services End up Doing lot of GC and eventually die.

Contributed by Rajat Khandelwal

(cherry picked from commit 591ca698230f25217c10c7549aff8097baa11f1e)

HADOOP-16278. With S3A Filesystem, Long Running services End up Doing lot of GC and eventually die.

Contributed by Rajat Khandelwal

HADOOP-16221. S3Guard: add option to fail operation on metadata write failure.

    • -0
    • +40
    ./s3a/MetadataPersistenceException.java
  1. … 3 more files in changeset.
HADOOP-14747. S3AInputStream to implement CanUnbuffer.

Author: Sahil Takiar <stakiar@cloudera.com>

  1. … 9 more files in changeset.
HADOOP-16118. S3Guard to support on-demand DDB tables.

This is the first step for on-demand operations: things recognize when they are using on-demand tables,

as do the tests.

Contributed by Steve Loughran.

    • -0
    • +24
    ./s3a/s3guard/DynamoDBMetadataStore.java
  1. … 4 more files in changeset.
HADOOP-16050: s3a SSL connections should use OpenSSL

(cherry picked from commit aebf229c175dfa19fff3b31e9e67596f6c6124fa)

  1. … 13 more files in changeset.
HADOOP-11572. s3a delete() operation fails during a concurrent delete of child entries. Contributed by Steve Loughran.

(cherry picked from commit 2ac5aab8d725f761a9f9723471a4426f6b5d78c4)

  1. … 2 more files in changeset.
HADOOP-16197 S3AUtils.translateException to map CredentialInitializationException to AccessDeniedException

Contributed by Steve Loughran.

Change-Id: Ie98ca5210bf0009f297edbcacf1fc6dfe5ea70cd.

HADOOP-16233. S3AFileStatus to declare that isEncrypted() is always true (#685)

This is needed to fix up some confusion about caching of job.addCache() handling of S3A paths; all parent dirs -the files are downloaded by the NM without using the DTs of the user submitting the job. This means that when you submit jobs to an EC2 cluster with lower IAM permissions than the user, cached resources don't get downloaded and the job doesn't start.

Production code changes:

* S3AFileStatus Adds "true" to the superclass's encrypted flag during construction.

Tests

* Base AbstractContractOpenTest can control whether zero byte files created in tests are encrypted. Not done via an XML attribute, just a subclass point. Thoughts?

* Verify that the filecache considers paths to not have the permissions which trigger reduce-privilege downloads

* And extend ITestDelegatedMRJob to test a completely different bucket (open street map), to verify that cached resources do get their tokens picked up

Docs:

* Advise FS developers to say all files are encrypted. It's otherwise harmless and it'll stop other people seeing impossible to debug error messages on app launch.

Contributed by Steve Loughran.

Change-Id: Ifaae4c9d735ccc5eafeebd2584b65daf2d4e5da3

  1. … 4 more files in changeset.
HADOOP-16233. S3AFileStatus to declare that isEncrypted() is always true (#685)

This is needed to fix up some confusion about caching of job.addCache() handling of S3A paths; all parent dirs -the files are downloaded by the NM without using the DTs of the user submitting the job. This means that when you submit jobs to an EC2 cluster with lower IAM permissions than the user, cached resources don't get downloaded and the job doesn't start.

Production code changes:

* S3AFileStatus Adds "true" to the superclass's encrypted flag during construction.

Tests

* Base AbstractContractOpenTest can control whether zero byte files created in tests are encrypted. Not done via an XML attribute, just a subclass point. Thoughts?

* Verify that the filecache considers paths to not have the permissions which trigger reduce-privilege downloads

* And extend ITestDelegatedMRJob to test a completely different bucket (open street map), to verify that cached resources do get their tokens picked up

Docs:

* Advise FS developers to say all files are encrypted. It's otherwise harmless and it'll stop other people seeing impossible to debug error messages on app launch.

Contributed by Steve Loughran.

Change-Id: Ifaae4c9d735ccc5eafeebd2584b65daf2d4e5da3

  1. … 4 more files in changeset.
HADOOP-16233. S3AFileStatus to declare that isEncrypted() is always true (#685)

This is needed to fix up some confusion about caching of job.addCache() handling of S3A paths; all parent dirs -the files are downloaded by the NM without using the DTs of the user submitting the job. This means that when you submit jobs to an EC2 cluster with lower IAM permissions than the user, cached resources don't get downloaded and the job doesn't start.

Production code changes:

* S3AFileStatus Adds "true" to the superclass's encrypted flag during construction.

Tests

* Base AbstractContractOpenTest can control whether zero byte files created in tests are encrypted. Not done via an XML attribute, just a subclass point. Thoughts?

* Verify that the filecache considers paths to not have the permissions which trigger reduce-privilege downloads

* And extend ITestDelegatedMRJob to test a completely different bucket (open street map), to verify that cached resources do get their tokens picked up

Docs:

* Advise FS developers to say all files are encrypted. It's otherwise harmless and it'll stop other people seeing impossible to debug error messages on app launch.

Contributed by Steve Loughran.

Change-Id: Ifaae4c9d735ccc5eafeebd2584b65daf2d4e5da3

(cherry picked from commit 366186d9990ef9059b6ac9a19ad24310d6f36d04)

  1. … 4 more files in changeset.
HADOOP-16233. S3AFileStatus to declare that isEncrypted() is always true (#685)

This is needed to fix up some confusion about caching of job.addCache() handling of S3A paths; all parent dirs -the files are downloaded by the NM without using the DTs of the user submitting the job. This means that when you submit jobs to an EC2 cluster with lower IAM permissions than the user, cached resources don't get downloaded and the job doesn't start.

Production code changes:

* S3AFileStatus Adds "true" to the superclass's encrypted flag during construction.

Tests

* Base AbstractContractOpenTest can control whether zero byte files created in tests are encrypted. Not done via an XML attribute, just a subclass point. Thoughts?

* Verify that the filecache considers paths to not have the permissions which trigger reduce-privilege downloads

* And extend ITestDelegatedMRJob to test a completely different bucket (open street map), to verify that cached resources do get their tokens picked up

Docs:

* Advise FS developers to say all files are encrypted. It's otherwise harmless and it'll stop other people seeing impossible to debug error messages on app launch.

Contributed by Steve Loughran.

Change-Id: Ifaae4c9d735ccc5eafeebd2584b65daf2d4e5da3

  1. … 6 more files in changeset.
HADOOP-15999. S3Guard: Better support for out-of-band operations.

Author: Gabor Bota

  1. … 4 more files in changeset.
HADOOP-16186. S3Guard: NPE in DynamoDBMetadataStore.lambda$listChildren.

Author: Gabor Bota

    • -11
    • +31
    ./s3a/s3guard/DynamoDBMetadataStore.java
  1. … 1 more file in changeset.
HADOOP-16201: S3AFileSystem#innerMkdirs builds needless lists (#636)

HADOOP-16195 MarshalledCredentials toString

Change-Id: I4f1bdd2be0d5760c5501dce6edb6122499108b53

HADOOP-16055. Upgrade AWS SDK to 1.11.271 in branch-2.

Contains HADOOP-12705 Upgrade Jackson 2.2.3 to 2.7.8.

This change was required to address license compatibility issues with the JSON parser in the older AWS SDKs.

A consequence of this is that the version of Jackson 2 shipped is now 2.7.8.

Author: Akira Ajisaka <aajisaka@apache.org>

  1. … 5 more files in changeset.
HADOOP-15625. S3A input stream to use etags/version number to detect changed source files.

Author: Ben Roling <ben.roling@gmail.com>

Initial patch from Brahma Reddy Battula.

    • -0
    • +44
    ./s3a/NoVersionAttributeException.java
    • -0
    • +49
    ./s3a/RemoteFileChangedException.java
    • -0
    • +376
    ./s3a/impl/ChangeDetectionPolicy.java
    • -0
    • +196
    ./s3a/impl/ChangeTracker.java
    • -0
    • +42
    ./s3a/impl/LogExactlyOnce.java
    • -0
    • +30
    ./s3a/impl/package-info.java
  1. … 7 more files in changeset.
HADOOP-15625. S3A input stream to use etags/version number to detect changed source files.

Author: Ben Roling <ben.roling@gmail.com>

Initial patch from Brahma Reddy Battula.

    • -0
    • +44
    ./s3a/NoVersionAttributeException.java
    • -0
    • +49
    ./s3a/RemoteFileChangedException.java
    • -0
    • +376
    ./s3a/impl/ChangeDetectionPolicy.java
    • -0
    • +196
    ./s3a/impl/ChangeTracker.java
    • -0
    • +42
    ./s3a/impl/LogExactlyOnce.java
    • -0
    • +30
    ./s3a/impl/package-info.java
  1. … 7 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF (#589)

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

Change-Id: I39b87f3d5daa98f65de2c0a44e348821a4930573

(cherry picked from commit 9b8044d00b0edb0a597c6fd768e9be6a96da74da)

  1. … 4 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF (#589)

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

Change-Id: I39b87f3d5daa98f65de2c0a44e348821a4930573

(cherry picked from commit 9b8044d00b0edb0a597c6fd768e9be6a96da74da)

  1. … 4 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF (#589)

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

Change-Id: I39b87f3d5daa98f65de2c0a44e348821a4930573

  1. … 4 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF (#589)

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

Change-Id: I39b87f3d5daa98f65de2c0a44e348821a4930573

  1. … 4 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

  1. … 3 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

  1. … 3 more files in changeset.
HADOOP-16109. Parquet reading S3AFileSystem causes EOF

Nobody gets seek right. No matter how many times they think they have.

Reproducible test from: Dave Christianson

Fixed seek() logic: Steve Loughran

  1. … 2 more files in changeset.
HADOOP-16093. Move DurationInfo from hadoop-aws to hadoop-common org.apache.hadoop.util.

Contributed by Abhishek Modi

    • -0
    • +1
    ./s3a/commit/AbstractS3ACommitter.java
    • -1
    • +1
    ./s3a/commit/magic/MagicS3GuardCommitter.java
    • -1
    • +1
    ./s3a/commit/staging/StagingCommitter.java
  1. … 11 more files in changeset.
HADOOP-15843. s3guard bucket-info command to not print a stack trace on bucket-not-found.

Contributed by Adam Antal.

(Revised patch applied after stevel committed the wrong one; that has been reverted)

  1. … 2 more files in changeset.