Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.7.0
-
None
-
Reviewed
Description
Previously, all references to DFSConfigKeys in DFSClient were compile time constants which meant that normal users of DFSClient wouldn't resolve DFSConfigKeys at run time. As of HDFS-7718, DFSClient has a reference to a member of DFSConfigKeys that isn't compile time constant (DFS_CLIENT_KEY_PROVIDER_CACHE_EXPIRY_DEFAULT).
Since the class must be resolved now, this particular member
public static final String DFS_WEBHDFS_AUTHENTICATION_FILTER_DEFAULT = AuthFilter.class.getName();
means that javax.servlet.Filter needs to be on the classpath.
javax-servlet-api is one of the properly listed dependencies for HDFS, however if we replace AuthFilter.class.getName() with the equivalent String literal then downstream folks can avoid including it while maintaining compatibility.