API Compatibility changes in 7.3.2 for ZooKeeper
Removed or Modified APIs in Cloudera Runtime 7.3.2 for ZooKeeper and recommendations for how to handle them.
Apache Version of ZooKeeper in 7.3.2 and 7.3.2.10000 is 3.8.5
Removed APIs in 7.3.2
The following ZooKeeper API endpoints have been removed from Cloudera Runtime 7.3.2.
SecurityUtils.createSaslServer
Method Removed
- Package Name
org.apache.zookeeper.util- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- ZOOKEEPER-5043: Disable fallback to DIGEST-MD5 in SaslServer when FIPS mode is set
- Recommendation
- Recompile client application. The method now has a new parameter:
ZKConfig config. - Recompilation Required?
- Yes
X509Util.createSSLContextAndOptionsFromConfig
Method Removed
- Package Name
org.apache.zookeeper.common- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- CDPD-104916: ZooKeeper client fails to connect on FIPS-enabled TLS 1.3 clusters due to TLS protocol mismatch
- Recommendation
- Recompile client application. The method now has a new parameter:
boolean isClient. - Recompilation Required?
- Yes
X509Util.createTrustManager
Method Removed
- Package Name
org.apache.zookeeper.common- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- ZOOKEEPER-4986: Disable reverse DNS lookup in TLS client and server
- Recommendation
- Recompile client application. The method now has a new parameter:
final boolean allowReverseDnsLookup. - Recompilation Required?
- Yes
Modified APIs in 7.3.2
The following ZooKeeper API endpoints have been modified in Cloudera Runtime 7.3.2.
X509Util
Interface/Class Modified
- Package Name
org.apache.zookeeper.common- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method
shouldAllowReverseDnsLookup()inorg.apache.zookeeper.common.X509Util. - Reason for change
- ZOOKEEPER-4986: Disable reverse DNS lookup in TLS client and server
- Recommendation
- Recompile client application. Abstract method
boolean shouldAllowReverseDnsLookup()has been added to this class. - Recompilation Required?
- Yes
X509Util.DEFAULT_PROTOCOL
Field Renamed
- Package Name
org.apache.zookeeper.common- Effect
- Recompilation of a client program may be terminated with the message: cannot find variable
DEFAULT_PROTOCOLinorg.apache.zookeeper.common.X509Util. - Reason for change
- CDPD-104916: ZooKeeper client fails to connect on FIPS-enabled TLS 1.3 clusters due to TLS protocol mismatch
- Recommendation
- Recompile client application. Field
DEFAULT_PROTOCOLhas been renamed toDEFAULT_TLS_PROTOCOL_CLIENT. - Recompilation Required?
- Yes
PrometheusMetricsProvider.getServlet
Method Modified
- Package Name
org.apache.zookeeper.metrics.prometheus- Effect
- Recompilation of a client program may be terminated with the message: incompatible types:
io.prometheus.metrics.exporter.servlet.javax.PrometheusMetricsServletcannot be converted toorg.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider.MetricsServletImpl. - Reason for change
- ZOOKEEPER-4741: High latency under heavy load when prometheus metrics enabled.
- Recommendation
- Recompile client application. Return value type has been changed from
org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider.MetricsServletImpltoio.prometheus.metrics.exporter.servlet.javax.PrometheusMetricsServlet. - Recompilation Required?
- Yes
