Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
Impala 4.4.0
-
None
-
ghx-label-7
Description
In some internal builds, we see cases where one dependency brings in one version of log4j2 and another brings in a different version on a different artifact. In particular, we have seen cases where Hive brings in log4j-api 2.17.1 while something else brings in log4j-core 2.18.0. This is a bad combination, because log4j-core 2.18.0 relies on the ServiceLoaderUtil class existing in log4j-api, but log4j-api 2.17.1 doesn't have it. This can result in class not found exceptions.
Impala itself uses reload4j rather than log4j2, so this is purely about coordinating dependencies rather than Impala code.
We should add dependency management for log4j-api and log4j-core. It makes sense to standardize on 2.18.0.