-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30180/
-----------------------------------------------------------
Review request for Ambari, John Speidel, Mahadev Konar, and Robert Levas.
Repository: ambari
Description
-------
This patch fixes AMBARI-9277.
The BlueprintConfigurationProcessor was incorrectly handling the
topology substitution for the "templeton.hive.properties"
config parameter in webhcat-site.xml. This was causing
errors in configuration, as the string substitution
was removing valid entries, and also injecting hostname
information where it was not necessary to do so.
This patch fixes the issue by:
- Mapping the "templeton.hive.properties" parameter to
use the SingleHostPropertyUpdater, rather than the previous
mapping to the MultipleHost updater. The multiple host
updater is not appropriate in this particular config
property. The "templeton.hive.properties" consists of a
list of key/value pairs, which is a slightly different
case than most multi-host properties, with respect
to hostname substitution. This property requires
hostname substitution for a single internal property
that points to the Hive MetaStore server, so the new
SingleHost updater mapping references the MetaStore
server component.
- Using the SingleHost updater allows for the basic
hostname substitution to work as expected in the default
("localhost") case, and will also support customized
values for this property, as customized values for
this property are returned as-is.
- Adding new unit tests to verify this change.
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
e7219e9
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
9f47163
Diff: https://reviews.apache.org/r/30180/diff/
Testing
-------
1. Ran the ambari-server unit tests (all passing).
2. Manually verified a single-node cluster with Hive can be deployed properly
with this configuration value set to one of three possibilities: default stack
value, user-customized, containing a HOST_GROUP token (value coming from an
exported Blueprint). The clusters deploy properly in all three cases, and I've
run the Hive "Service Check" in the UI in each case, which also succeeded.
Thanks,
Robert Nettleton