You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by km...@apache.org on 2014/10/22 20:59:13 UTC
git commit: KNOX-453: HDFS HA not working for secure clusters
Repository: knox
Updated Branches:
refs/heads/master a63961b20 -> 13682b6c0
KNOX-453: HDFS HA not working for secure clusters
Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/13682b6c
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/13682b6c
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/13682b6c
Branch: refs/heads/master
Commit: 13682b6c0af047b9186d47758c21e2e4a62412bb
Parents: a63961b
Author: Kevin Minder <ke...@hortonworks.com>
Authored: Wed Oct 22 14:59:03 2014 -0400
Committer: Kevin Minder <ke...@hortonworks.com>
Committed: Wed Oct 22 14:59:03 2014 -0400
----------------------------------------------------------------------
.../dispatch/WebHdfsHaHttpClientDispatch.java | 1 +
.../WebHdfsHaHttpClientDispatchTest.java | 37 ++++++++++++++++++++
2 files changed, 38 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/knox/blob/13682b6c/gateway-service-webhdfs/src/main/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatch.java
----------------------------------------------------------------------
diff --git a/gateway-service-webhdfs/src/main/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatch.java b/gateway-service-webhdfs/src/main/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatch.java
index cfa5081..a0aa014 100644
--- a/gateway-service-webhdfs/src/main/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatch.java
+++ b/gateway-service-webhdfs/src/main/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatch.java
@@ -68,6 +68,7 @@ public class WebHdfsHaHttpClientDispatch extends HdfsDispatch {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
+ super.init(filterConfig);
resourceRole = filterConfig.getInitParameter(RESOURCE_ROLE_ATTRIBUTE);
LOG.initializingForResourceRole(resourceRole);
haProvider = HaServletContextListener.getHaProvider(filterConfig.getServletContext());
http://git-wip-us.apache.org/repos/asf/knox/blob/13682b6c/gateway-service-webhdfs/src/test/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatchTest.java
----------------------------------------------------------------------
diff --git a/gateway-service-webhdfs/src/test/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatchTest.java b/gateway-service-webhdfs/src/test/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatchTest.java
index e64f7c7..ae861a9 100644
--- a/gateway-service-webhdfs/src/test/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatchTest.java
+++ b/gateway-service-webhdfs/src/test/java/org/apache/hadoop/gateway/hdfs/dispatch/WebHdfsHaHttpClientDispatchTest.java
@@ -17,10 +17,13 @@
*/
package org.apache.hadoop.gateway.hdfs.dispatch;
+import org.apache.hadoop.gateway.dispatch.AppCookieManager;
import org.apache.hadoop.gateway.ha.provider.HaDescriptor;
import org.apache.hadoop.gateway.ha.provider.HaProvider;
import org.apache.hadoop.gateway.ha.provider.HaServletContextListener;
+import org.apache.hadoop.gateway.ha.provider.impl.DefaultHaDescriptor;
import org.apache.hadoop.gateway.ha.provider.impl.DefaultHaProvider;
+import org.apache.hadoop.gateway.ha.provider.impl.DefaultHaServiceConfig;
import org.apache.hadoop.gateway.ha.provider.impl.HaDescriptorFactory;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.methods.HttpUriRequest;
@@ -32,6 +35,7 @@ import org.junit.Test;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -40,8 +44,41 @@ import java.net.URI;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
public class WebHdfsHaHttpClientDispatchTest {
+ private class InstrumentedWebHdfsHaHttpClientDispatch extends WebHdfsHaHttpClientDispatch {
+
+ public InstrumentedWebHdfsHaHttpClientDispatch() throws ServletException {
+ }
+
+ public AppCookieManager getAppCookieManager() {
+ return appCookieManager;
+ }
+
+ }
+
+ @Test
+ public void testInitCallsSuperInit() throws Exception {
+ DefaultHaDescriptor haDescriptor = new DefaultHaDescriptor();
+ haDescriptor.addServiceConfig( new DefaultHaServiceConfig( "test-role" ) );
+ HaProvider haProvider = new DefaultHaProvider( haDescriptor );
+ ServletContext context = EasyMock.createNiceMock(ServletContext.class);
+ EasyMock.expect(context.getAttribute(HaServletContextListener.PROVIDER_ATTRIBUTE_NAME)).andReturn(haProvider).anyTimes();
+ FilterConfig config = EasyMock.createNiceMock( FilterConfig.class );
+ EasyMock.expect(config.getServletContext()).andReturn(context).anyTimes();
+ EasyMock.expect(config.getInitParameter( WebHdfsHaHttpClientDispatch.RESOURCE_ROLE_ATTRIBUTE )).andReturn("test-role").anyTimes();
+ EasyMock.expect(config.getInitParameter(EasyMock.anyObject(String.class))).andReturn(null).anyTimes();
+ InstrumentedWebHdfsHaHttpClientDispatch dispatch = new InstrumentedWebHdfsHaHttpClientDispatch();
+ EasyMock.replay(context,config);
+
+ dispatch.init(config);
+
+ assertThat( dispatch.getAppCookieManager(), notNullValue() );
+ }
+
@Test
public void testConnectivityFailover() throws Exception {
String serviceName = "WEBHDFS";