Zoran Rajic created HADOOP-12753: ------------------------------------ Summary: S3A jUnit tests failing if using HTTP proxy Key: HADOOP-12753 URL: https://issues.apache.org/jira/browse/HADOOP-12753 Project: Hadoop Common Issue Type: Sub-task Components: fs/s3 Affects Versions: 2.7.2 Environment: Test hardware: * issue identified while running jUnit tests on MacBook Pro
PREREQUISITE: * have a functional HTTP proxy running (ie. SQUID HTTP proxy @ http://127.0.0.1:3128) * S3A test configuration (relevant options): <!-- NOTE: by not specifying endpoint, we'll use the default AWS S3 --> <property> <name>fs.s3a.endpoint</name> <value></value> </property> <!-- NOTE: please configure functional HTTP proxy with fs.s3a.proxy.{host,port} --> <property> <name>fs.s3a.proxy.host</name> <value>127.0.0.1</value> </property> <property> <name>fs.s3a.proxy.port</name> <value>3128</value> </property> <property> <name>fs.s3a.access.key</name> <value>_REAL_AWS_S3_ACCESS_KEY</value> </property> <property> <name>fs.s3a.secret.key</name> <value>_REAL_AWS_S3_SECRET_KEY</value> </property> Reporter: Zoran Rajic Priority: Minor Some companies have restricted firewalls and don't allow the "direct access" to Web-pages or Internet, so their employees have to use the SOCKS or the HTTP proxy. This also means that the engineers who develop and test the Hadoop code and s3a:// -filesystem inside the company firewalls, need to access the "external" Amazon S3 service via the HTTP proxy. Unfortunately, there are S3A jUnit test failures when run with the HTTP proxy (see Environment field above). -- Details: * steps to reproduce: cd hadoop_git/hadoop-tools/hadoop-aws mvn clean test -Dtest=TestS3AConfiguration [...] Running org.apache.hadoop.fs.s3a.TestS3AConfiguration Tests run: 5, Failures: 1, Errors: 1, Skipped: 0, Time elapsed: 2.737 sec <<< FAILURE! - in org.apache.hadoop.fs.s3a.TestS3AConfiguration TestAutomaticProxyPortSelection(org.apache.hadoop.fs.s3a.TestS3AConfiguration) Time elapsed: 0.737 sec <<< FAILURE! java.lang.AssertionError: Expected a connection error for proxy server at org.junit.Assert.fail(Assert.java:88) at org.apache.hadoop.fs.s3a.TestS3AConfiguration.TestAutomaticProxyPortSelection(TestS3AConfiguration.java:130) TestProxyPortWithoutHost(org.apache.hadoop.fs.s3a.TestS3AConfiguration) Time elapsed: 0.624 sec <<< ERROR! com.amazonaws.AmazonClientException: Unable to execute HTTP request: Connection to http://127.0.0.1:1 refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:384) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:232) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3528) at com.amazonaws.services.s3.AmazonS3Client.headBucket(AmazonS3Client.java:1031) at com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:994) at org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:297) at org.apache.hadoop.fs.s3a.S3ATestUtils.createTestFileSystem(S3ATestUtils.java:51) at org.apache.hadoop.fs.s3a.TestS3AConfiguration.TestProxyPortWithoutHost(TestS3AConfiguration.java:111) Results : Failed tests: TestS3AConfiguration.TestAutomaticProxyPortSelection:130 Expected a connection error for proxy server Tests in error: TestS3AConfiguration.TestProxyPortWithoutHost:111 ยป AmazonClient Unable to exe... Tests run: 5, Failures: 1, Errors: 1, Skipped: 0 -- This message was sent by Atlassian JIRA (v6.3.4#6332)