Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.5.0
-
None
Description
CredentialUtil uses hadoop-common which depends on servlet-api 2.5. This causes a failure during ambari-server logon:
02 Feb 2017 13:15:57,992 WARN [ambari-client-thread-25] ServletHandler:592 - Error for /api/v1/clusters
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()I
at org.apache.ambari.server.security.authorization.AmbariAuthorizationFilter.doFilter(AmbariAuthorizationFilter.java:277)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
This happens because of classpath collision between multiple servlet api versions. The org.apache.hadoop:hadoop-common depends on an old version of servlet api (2.5).
[INFO] +- org.apache.hadoop:hadoop-common:jar:2.7.2:compile [INFO] | +- xmlenc:xmlenc:jar:0.52:compile [INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:compile [INFO] | +- javax.servlet:servlet-api:jar:2.5:compile [INFO] | +- org.mortbay.jetty:jetty:jar:6.1.26:compile [INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.26:compile [INFO] | +- javax.servlet.jsp:jsp-api:jar:2.1:runtime
Attachments
Attachments
Issue Links
- links to