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 2015/11/23 20:49:36 UTC
knox git commit: KNOX-632: Oozie dispatch failing for secure clusters
Repository: knox
Updated Branches:
refs/heads/master fa56190a3 -> 5a08e3742
KNOX-632: Oozie dispatch failing 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/5a08e374
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/5a08e374
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/5a08e374
Branch: refs/heads/master
Commit: 5a08e3742da32b75820d22b0acaf37a485d3df65
Parents: fa56190
Author: Kevin Minder <ke...@hortonworks.com>
Authored: Mon Nov 23 14:49:29 2015 -0500
Committer: Kevin Minder <ke...@hortonworks.com>
Committed: Mon Nov 23 14:49:29 2015 -0500
----------------------------------------------------------------------
.../org/apache/hadoop/gateway/dispatch/DefaultDispatch.java | 5 +++++
.../gateway/dispatch/PartiallyRepeatableHttpEntity.java | 8 ++++----
2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/knox/blob/5a08e374/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
----------------------------------------------------------------------
diff --git a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
index 6cd9461..a71d56a 100644
--- a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
+++ b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
@@ -191,6 +191,11 @@ public class DefaultDispatch extends AbstractGatewayDispatch {
} else {
entity = new InputStreamEntity(contentStream, contentLength, ContentType.parse(contentType));
}
+ GatewayConfig config =
+ (GatewayConfig)request.getServletContext().getAttribute( GatewayConfig.GATEWAY_CONFIG_ATTRIBUTE );
+ if( config.isHadoopKerberosSecured() ) {
+ entity = new PartiallyRepeatableHttpEntity( entity, config.getHttpServerRequestBuffer() );
+ }
return entity;
}
http://git-wip-us.apache.org/repos/asf/knox/blob/5a08e374/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/PartiallyRepeatableHttpEntity.java
----------------------------------------------------------------------
diff --git a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/PartiallyRepeatableHttpEntity.java b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/PartiallyRepeatableHttpEntity.java
index 0bc89c6..fef05f2 100644
--- a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/PartiallyRepeatableHttpEntity.java
+++ b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/PartiallyRepeatableHttpEntity.java
@@ -56,7 +56,7 @@ public class PartiallyRepeatableHttpEntity extends HttpEntityWrapper {
@Override
public boolean isRepeatable() {
- return true;
+ return finalStream == null;
}
@Override
@@ -83,7 +83,7 @@ public class PartiallyRepeatableHttpEntity extends HttpEntityWrapper {
return wrappedEntity.getContent();
// Else if the buffer has overflowed
} else if( finalStream != null ) {
- throw new IOException( "TODO - Existing stream already past replay buffer capacity" );
+ throw new IOException( "Existing stream already past replay buffer capacity." );
} else {
if( wrappedStream == null ) {
wrappedStream = wrappedEntity.getContent();
@@ -111,7 +111,7 @@ public class PartiallyRepeatableHttpEntity extends HttpEntityWrapper {
public int read() throws IOException {
int b;
if( finalStream != null && finalStream != this ) {
- throw new IOException( "TODO - Replay stream taken over by another consumer." );
+ throw new IOException( "Replay stream taken over by another consumer." );
}
// If we can read from the buffer do so.
if( replayReadIndex < replayWriteIndex ) {
@@ -134,7 +134,7 @@ public class PartiallyRepeatableHttpEntity extends HttpEntityWrapper {
public int read( byte buffer[], int offset, int limit ) throws IOException {
int count = -1;
if( finalStream != null && finalStream != this ) {
- throw new IOException( "TODO - Replay stream taken over by another consumer." );
+ throw new IOException( "Replay stream taken over by another consumer." );
}
// If we can read from the buffer do so.
if( replayReadIndex < replayWriteIndex ) {