[ https://issues.apache.org/jira/browse/HDFS-481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746733#action_12746733 ]
Chris Douglas commented on HDFS-481: ------------------------------------ Thanks for fixing the lib packaging. There was just one pair of changes that I wanted to ask after: {noformat} - <display-name>HDFS Proxy</display-name> + <display-name>HDFS Proxy Forward</display-name> {noformat} {noformat} - if (dstContext == null) { - LOG.info("Context non-exist or restricted from access: " + version); + // avoid infinite forwarding. + if (dstContext == null + || "HDFS Proxy Forward".equals(dstContext.getServletContextName())) { + LOG.error("Context (" + version + + ".war) non-exist or restricted from access"); {noformat} This is to prevent the forwarding servlet from passing requests to itself? When does this occur? Is there another way to detect/prevent it, other than (what looks like) taking a configurable string and hard-coding a check for it? The rest of the changes look reasonable. > Bug Fixes > --------- > > Key: HDFS-481 > URL: https://issues.apache.org/jira/browse/HDFS-481 > Project: Hadoop HDFS > Issue Type: Bug > Components: contrib/hdfsproxy > Affects Versions: 0.21.0 > Reporter: zhiyong zhang > Assignee: zhiyong zhang > Attachments: HDFS-481.patch, HDFS-481.patch, HDFS-481.patch, > HDFS-481.patch > > > 1. hadoop-version is not recognized if run ant command from src/contrib/ or > from src/contrib/hdfsproxy > If running ant command from $HADOOP_HDFS_HOME, hadoop-version will be passed > to contrib's build through subant. But if running from src/contrib or > src/contrib/hdfsproxy, the hadoop-version will not be recognized. > 2. ssl.client.do.not.authenticate.server setting can only be set by hdfs's > configuration files, need to move this setting to ssl-client.xml. > 3. Solve some race conditions for LdapIpDirFilter.java. (userId, groupName, > and paths need to be moved to doFilter() instead of as class members > 4. Addressed the following StackOverflowError. > ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localh > ost].[/].[proxyForward]] Servlet.service() for servlet proxyForward threw > exception > java.lang.StackOverflowError > at > org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpR > equest.java:229) > This is due to when the target war (/target.war) does not exist, the > forwarding war will forward to its parent context path /, which defines the > forwarding war itself. This cause infinite loop. Added "HDFS Proxy > Forward".equals(dstContext.getServletContextName() in the if logic to break > the loop. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.