Skip to content

Commit 87fa86d

Browse files
committed
Skip Tests
1 parent f78df73 commit 87fa86d

File tree

11 files changed

+92
-6
lines changed

11 files changed

+92
-6
lines changed

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ASeekableStream.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919

2020
package org.apache.hadoop.fs.s3a;
2121

22+
import java.io.EOFException;
2223
import java.io.IOException;
2324

2425
import org.apache.hadoop.fs.FSExceptionMessages;
26+
import org.apache.hadoop.fs.StreamCapabilities;
2527
import org.slf4j.Logger;
2628
import org.slf4j.LoggerFactory;
2729

@@ -31,7 +33,7 @@
3133
import software.amazon.s3.analyticsaccelerator.S3SeekableInputStreamFactory;
3234
import software.amazon.s3.analyticsaccelerator.util.S3URI;
3335

34-
public class S3ASeekableStream extends FSInputStream {
36+
public class S3ASeekableStream extends FSInputStream implements StreamCapabilities {
3537

3638
private S3SeekableInputStream inputStream;
3739
private long lastReadCurrentPos = 0;
@@ -44,6 +46,17 @@ public S3ASeekableStream(String bucket, String key, S3SeekableInputStreamFactory
4446
this.key = key;
4547
}
4648

49+
/**
50+
* Indicates whether the given {@code capability} is supported by this stream.
51+
*
52+
* @param capability the capability to check.
53+
* @return true if the given {@code capability} is supported by this stream, false otherwise.
54+
*/
55+
@Override
56+
public boolean hasCapability(String capability) {
57+
return false;
58+
}
59+
4760
@Override
4861
public int read() throws IOException {
4962
throwIfClosed();
@@ -53,6 +66,10 @@ public int read() throws IOException {
5366
@Override
5467
public void seek(long pos) throws IOException {
5568
throwIfClosed();
69+
if (pos < 0) {
70+
throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK
71+
+ " " + pos);
72+
}
5673
inputStream.seek(pos);
5774
}
5875

@@ -92,6 +109,12 @@ public boolean seekToNewSource(long l) throws IOException {
92109
return false;
93110
}
94111

112+
@Override
113+
public int available() throws IOException {
114+
throwIfClosed();
115+
return super.available();
116+
}
117+
95118
@Override
96119
public void close() throws IOException {
97120
if (inputStream != null) {

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/contract/s3a/ITestS3AContractCreate.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@
3030
import org.apache.hadoop.fs.s3a.S3ATestUtils;
3131

3232
import static org.apache.hadoop.fs.s3a.Constants.CONNECTION_EXPECT_CONTINUE;
33-
import static org.apache.hadoop.fs.s3a.S3ATestUtils.removeBaseAndBucketOverrides;
34-
import static org.apache.hadoop.fs.s3a.S3ATestUtils.setPerformanceFlags;
33+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.*;
3534

3635
/**
3736
* S3A contract tests creating files.
@@ -88,6 +87,13 @@ protected Configuration createConfiguration() {
8887
return conf;
8988
}
9089

90+
@Override
91+
public void testOverwriteExistingFile() throws Throwable {
92+
super.testOverwriteExistingFile();
93+
skipIfAnalyticsAcceleratorEnabled(this.createConfiguration());
94+
95+
}
96+
9197
@Override
9298
public void testOverwriteNonEmptyDirectory() throws Throwable {
9399
try {

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/contract/s3a/ITestS3AContractDistCp.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import static org.apache.hadoop.fs.s3a.Constants.*;
2222
import static org.apache.hadoop.fs.s3a.S3ATestConstants.SCALE_TEST_TIMEOUT_MILLIS;
23+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
2324

2425
import org.apache.hadoop.conf.Configuration;
2526
import org.apache.hadoop.fs.StorageStatistics;
@@ -51,6 +52,12 @@ protected Configuration createConfiguration() {
5152
return newConf;
5253
}
5354

55+
@Override
56+
public void setup() throws Exception {
57+
super.setup();
58+
skipIfAnalyticsAcceleratorEnabled(createConfiguration());
59+
}
60+
5461
@Override
5562
protected boolean shouldUseDirectWrite() {
5663
return true;

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/contract/s3a/ITestS3AContractRename.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import static org.apache.hadoop.fs.contract.ContractTestUtils.verifyFileContents;
3737
import static org.apache.hadoop.fs.contract.ContractTestUtils.writeDataset;
3838
import static org.apache.hadoop.fs.s3a.S3ATestConstants.S3A_TEST_TIMEOUT;
39+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
3940

4041
/**
4142
* S3A contract tests covering rename.
@@ -45,6 +46,12 @@ public class ITestS3AContractRename extends AbstractContractRenameTest {
4546
public static final Logger LOG = LoggerFactory.getLogger(
4647
ITestS3AContractRename.class);
4748

49+
@Override
50+
public void setup() throws Exception {
51+
super.setup();
52+
skipIfAnalyticsAcceleratorEnabled(getContract().getConf());
53+
54+
}
4855
@Override
4956
protected int getTestTimeoutMillis() {
5057
return S3A_TEST_TIMEOUT;

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/contract/s3a/ITestS3AContractVectoredRead.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import static org.apache.hadoop.fs.contract.ContractTestUtils.range;
6262
import static org.apache.hadoop.fs.contract.ContractTestUtils.returnBuffersToPoolPostRead;
6363
import static org.apache.hadoop.fs.contract.ContractTestUtils.validateVectoredReadResult;
64+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
6465
import static org.apache.hadoop.fs.statistics.IOStatisticAssertions.verifyStatisticCounterValue;
6566
import static org.apache.hadoop.fs.statistics.IOStatisticsLogging.ioStatisticsToPrettyString;
6667
import static org.apache.hadoop.test.LambdaTestUtils.interceptFuture;
@@ -84,6 +85,16 @@ protected AbstractFSContract createContract(Configuration conf) {
8485
return new S3AContract(conf);
8586
}
8687

88+
/**
89+
* Analytics Accelerator Library for Amazon S3 does not support Vectored Reads
90+
* @throws Exception
91+
*/
92+
@Override
93+
public void setup() throws Exception {
94+
skipIfAnalyticsAcceleratorEnabled(createConfiguration());
95+
super.setup();
96+
}
97+
8798
/**
8899
* Verify response to a vector read request which is beyond the
89100
* real length of the file.

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AEncryptionSSEC.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@
3838
import static org.apache.hadoop.fs.s3a.Constants.S3_ENCRYPTION_KEY;
3939
import static org.apache.hadoop.fs.s3a.Constants.SERVER_SIDE_ENCRYPTION_ALGORITHM;
4040
import static org.apache.hadoop.fs.s3a.Constants.SERVER_SIDE_ENCRYPTION_KEY;
41-
import static org.apache.hadoop.fs.s3a.S3ATestUtils.getTestBucketName;
42-
import static org.apache.hadoop.fs.s3a.S3ATestUtils.maybeSkipRootTests;
43-
import static org.apache.hadoop.fs.s3a.S3ATestUtils.removeBaseAndBucketOverrides;
41+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.*;
4442
import static org.apache.hadoop.test.LambdaTestUtils.intercept;
4543

4644
/**
@@ -93,6 +91,7 @@ protected Configuration createConfiguration() {
9391
@Override
9492
public void setup() throws Exception {
9593
super.setup();
94+
skipIfAnalyticsAcceleratorEnabled(getConfiguration());
9695
assumeEnabled();
9796
// although not a root dir test, this confuses paths enough it shouldn't be run in
9897
// parallel with other jobs

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AIOStatisticsContext.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import static org.apache.hadoop.fs.contract.ContractTestUtils.dataset;
4444
import static org.apache.hadoop.fs.contract.ContractTestUtils.writeDataset;
4545
import static org.apache.hadoop.fs.s3a.S3ATestUtils.disablePrefetching;
46+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
4647
import static org.apache.hadoop.fs.statistics.IOStatisticAssertions.assertThatStatisticCounter;
4748
import static org.apache.hadoop.fs.statistics.IOStatisticAssertions.verifyStatisticCounterValue;
4849
import static org.apache.hadoop.fs.statistics.StreamStatisticNames.STREAM_READ_BYTES;
@@ -77,6 +78,8 @@ protected Configuration createConfiguration() {
7778
public void setup() throws Exception {
7879
super.setup();
7980
executor = HadoopExecutors.newFixedThreadPool(SMALL_THREADS);
81+
skipIfAnalyticsAcceleratorEnabled(getContract().getConf());
82+
8083
}
8184

8285
@Override

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3APrefetchingLruEviction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import static org.apache.hadoop.fs.s3a.Constants.PREFETCH_BLOCK_SIZE_KEY;
4646
import static org.apache.hadoop.fs.s3a.Constants.PREFETCH_ENABLED_KEY;
4747
import static org.apache.hadoop.fs.s3a.Constants.PREFETCH_MAX_BLOCKS_COUNT;
48+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
4849
import static org.apache.hadoop.fs.statistics.IOStatisticAssertions.assertThatStatisticCounter;
4950
import static org.apache.hadoop.fs.statistics.IOStatisticAssertions.verifyStatisticCounterValues;
5051
import static org.apache.hadoop.fs.statistics.IOStatisticAssertions.verifyStatisticGaugeValue;
@@ -68,6 +69,12 @@ public static Collection<Object[]> params() {
6869
});
6970
}
7071

72+
@Override
73+
public void setup() throws Exception {
74+
super.setup();
75+
skipIfAnalyticsAcceleratorEnabled(createConfiguration());
76+
}
77+
7178
public ITestS3APrefetchingLruEviction(final String maxBlocks) {
7279
super(true);
7380
this.maxBlocks = maxBlocks;

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/S3ATestUtils.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,20 @@ public static boolean isS3ExpressTestBucket(final Configuration conf) {
574574
return S3ExpressStorage.isS3ExpressStore(getTestBucketName(conf), "");
575575
}
576576

577+
/**
578+
* Skip a test if the Analytics Accelerator Library for Amazon S3 is enabled.
579+
* @param configuration configuration to probe
580+
*/
581+
public static void skipIfAnalyticsAcceleratorEnabled(
582+
Configuration configuration) {
583+
assume("Skipping test as Analytics Accelerator Library does not support this functionality",
584+
!isAnalyticsAcceleratorEnabled(configuration));
585+
}
586+
587+
public static boolean isAnalyticsAcceleratorEnabled(final Configuration conf) {
588+
return conf.getBoolean(ANALYTICS_ACCELERATOR_ENABLED_KEY, ANALYTICS_ACCELERATOR_ENABLED_DEFAULT);
589+
}
590+
577591
/**
578592
* Skip a test if the filesystem lacks a required capability.
579593
* @param fs filesystem

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/commit/magic/ITestMagicCommitProtocol.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import org.junit.runners.Parameterized;
4747

4848
import static org.apache.hadoop.fs.s3a.S3ATestUtils.removeBaseAndBucketOverrides;
49+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
4950
import static org.apache.hadoop.fs.s3a.S3AUtils.listAndFilter;
5051
import static org.apache.hadoop.fs.s3a.commit.CommitConstants.*;
5152
import static org.apache.hadoop.fs.s3a.commit.impl.CommitUtilsWithMR.getMagicJobPath;
@@ -77,6 +78,7 @@ protected String getCommitterName() {
7778
@Override
7879
public void setup() throws Exception {
7980
super.setup();
81+
skipIfAnalyticsAcceleratorEnabled(getConfiguration());
8082
CommitUtils.verifyIsMagicCommitFS(getFileSystem());
8183
}
8284

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/statistics/ITestS3AContractStreamIOStatistics.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.hadoop.fs.contract.s3a.S3AContract;
2828
import org.apache.hadoop.fs.statistics.StreamStatisticNames;
2929

30+
import static org.apache.hadoop.fs.s3a.S3ATestUtils.skipIfAnalyticsAcceleratorEnabled;
3031
import static org.apache.hadoop.fs.statistics.StreamStatisticNames.*;
3132

3233
/**
@@ -78,4 +79,10 @@ public List<String> outputStreamStatisticKeys() {
7879
STREAM_WRITE_EXCEPTIONS);
7980
}
8081

82+
@Override
83+
public void setup() throws Exception {
84+
super.setup();
85+
skipIfAnalyticsAcceleratorEnabled(getContract().getConf());
86+
}
87+
8188
}

0 commit comments

Comments
 (0)