Acceldata
ODP

Last updated: Sep 21, 2026 22:37 UTC

Upgrade Known Limitations

This page describes the list of issues and workarounds encountered during the upgrade process.


Oozie

Issue: After the Ambari upgrade, Oozie may require a restart and could fail with the following error:

Traceback (most recent call last):
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/OOZIE/package/scripts/oozie_client.py", line 74, in <module>
 OozieClient().execute()
 File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 352, in execute
 method(env)
 File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 970, in restart
 self.install(env)
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/OOZIE/package/scripts/oozie_client.py", line 37, in install
 self.configure(env)
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/OOZIE/package/scripts/oozie_client.py", line 41, in configure
 import params
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/OOZIE/package/scripts/params.py", line 28, in <module>
 from params_linux import *
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/OOZIE/package/scripts/params_linux.py", line 247, in <module>
 if enable_https and https_port is not None:
 File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/config_dictionary.py", line 73, in __getattr__
 raise Fail("Configuration parameter '" + self.name + "' was not found in configurations dictionary!")
resource_management.core.exceptions.Fail: Configuration parameter 'oozie.https.enabled' was not found in configurations dictionary!

Workaround:

  • In Oozie custom oozie-site configurations, add the following properties:
oozie.https.enabled=false
oozie.https.port=11443
oozie.https.keystore.file=/etc/security/certificates/keystore.jks
oozie.https.keystore.pass=changeit
oozie.https.truststore.file=/etc/security/certificates/truststore.jks
oozie.https.truststore.pass=changeit
  • After adding these properties, restart the Oozie service. The restart should complete successfully.


Druid

Issue: If Druid fails to start after the upgrade, you may see the following error in the logs:

org.apache.druid.metadata.storage.mysql.MySQLConnector - Loading MySQL metadata connector driver com.mysql.jdbc.Driver
2025-11-04T12:06:51,820 WARN [main] org.apache.druid.metadata.storage.mysql.MySQLConnector - Could not find com.mysql.jdbc.exceptions.MySQLTransientException on the classpath.

Caused by: java.lang.IllegalArgumentException: Cannot resolve variable 'env:DRUID_METADATA_STORAGE_CONNECTOR_PASSWORD' (enableSubstitutionInVariables=true).

Workaround:

In Druid’s druid-env file, add the following line and restart the Druid service:

export DRUID_METADATA_STORAGE_CONNECTOR_PASSWORD=`{{password_command}} -a "druid.metadata.storage.connector.password"`

After adding the variable, restart Druid or resume the upgrade. The service should start successfully.


Kafka

Issue: If the Kafka broker starts failing because of MirrorMaker2 Jinja template changes.

Traceback (most recent call last):
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/KAFKA/package/scripts/kafka_broker.py", line 145, in <module>
 KafkaBroker().execute()
 File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 352, in execute
 method(env)
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/KAFKA/package/scripts/kafka_broker.py", line 73, in start
 self.configure(env, upgrade_type=upgrade_type)
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/KAFKA/package/scripts/kafka_broker.py", line 45, in configure
 kafka(upgrade_type=upgrade_type)
 File "/var/lib/ambari-agent/cache/stacks/ODP/3.0/services/KAFKA/package/scripts/kafka.py", line 249, in kafka
 content=InlineTemplate(params.kafka_mirrormaker2)
 File "/usr/lib/ambari-agent/lib/resource_management/core/source.py", line 150, in __init__
 super(InlineTemplate, self).__init__(name, extra_imports, **kwargs) 
 File "/usr/lib/ambari-agent/lib/resource_management/core/source.py", line 137, in __init__
 self.template = self.template_env.get_template(self.name) 
 File "/usr/lib/ambari-agent/lib/ambari_jinja2/environment.py", line 716, in get_template
 return self._load_template(name, self.make_globals(globals))
 File "/usr/lib/ambari-agent/lib/ambari_jinja2/environment.py", line 690, in _load_template
 template = self.loader.load(self, name, globals)
 File "/usr/lib/ambari-agent/lib/ambari_jinja2/loaders.py", line 115, in load
 source, filename, uptodate = self.get_source(environment, name)
 File "/usr/lib/ambari-agent/lib/ambari_jinja2/loaders.py", line 309, in get_source
 raise TemplateNotFound(template)
ambari_jinja2.exceptions.TemplateNotFound: <exception str() failed>

Workaround:

  • In the Ambari UI, go to Kafka > Configs > Custom kafka-mirrormaker2.
  • Add the following property:
    • Key: content
    • Value:
clusters=source,dest

 source->dest.enabled=true
 source->dest.topics=.*
 source.bootstrap.servers=localhost:6667
 source.java.security.auth.login.config=/usr/odp/current/kafka-broker/config/kafka_jaas.conf
 source.java.security.krb5.kdc=
 source.java.security.krb5.realm=
 source.javax.security.auth.useSubjectCredsOnly=
 source.replication.enabled=true
 source.sasl.enabled.mechanisms=GSSAPI
 source.sasl.kerberos.service.name=kafka
 source.security.protocol=PLAINTEXT
 source.ssl.key.password=
 source.ssl.keystore.location=
 source.ssl.keystore.password=
 source.ssl.truststore.location=
 source.ssl.truststore.password=
 source.sun.security.krb5.debug=true
 source.topics.whitelist=.*

 dest->source.enabled=false
 dest->source.topics=.*
 dest.bootstrap.servers=localhost:6667
 dest.destination.cluster.name=dest
 dest.java.security.auth.login.config=/usr/odp/current/kafka-broker/config/kafka_jaas.conf
 dest.java.security.krb5.kdc=
 dest.java.security.krb5.realm=
 dest.javax.security.auth.useSubjectCredsOnly=
 dest.replication.enabled=false
 dest.sasl.enabled.mechanisms=GSSAPI
 dest.sasl.kerberos.service.name=kafka
 dest.security.protocol=PLAINTEXT
 dest.ssl.key.password=
 dest.ssl.keystore.location=
 dest.ssl.keystore.password=
 dest.ssl.truststore.location=
 dest.ssl.truststore.password=
 dest.sun.security.krb5.debug=true
 dest.topics.whitelist=.*

 refresh.topics.enabled=true
 refresh.topics.interval.seconds=5
 replication.factor=1
 status.storage.replication.factor=1
 heartbeats.topic.replication.factor=1
 offset-syncs.topic.replication.factor=1
 offset.storage.replication.factor=1
 config.storage.replication.factor=1
 checkpoints.topic.replication.factor=1
  • Set Property Type to TEXT.
  • Save the configuration and resume the upgrade.
  • Restart the Kafka service. It should start successfully.

DataNode Fail to Restart

  • Update the ports below:
dfs.datanode.address = 0.0.0.0:50010 
dfs.datanode.http.address = 0.0.0.0:50075 
dfs.datanode.https.address = 0.0.0.0:50475

Tez Service Check Failure

  • Remove the property for tez.history.logging.service.class