This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 53ace110eb AMBARI-25763: Upgrade Solr for BIGTOP to be compatible with 
bigtop-select (#3421)
53ace110eb is described below

commit 53ace110eb619fc9f1b2360d439b81b13dc8cabe
Author: Yu Hou <[email protected]>
AuthorDate: Thu Oct 20 10:34:37 2022 +0800

    AMBARI-25763: Upgrade Solr for BIGTOP to be compatible with bigtop-select 
(#3421)
---
 .../stacks/BIGTOP/3.2.0/services/SOLR/metainfo.xml      |  4 ++--
 .../3.2.0/services/SOLR/package/scripts/params.py       | 17 +++++++++++++++--
 .../services/SOLR/package/scripts/status_params.py      |  3 +++
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git 
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/metainfo.xml
index a5c4822b0a..bfd05249a2 100644
--- 
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/metainfo.xml
@@ -25,8 +25,8 @@
       <version>8.11.2-1</version>
       <components>
         <component>
-          <name>SOLR</name>
-          <displayName>Solr Instance</displayName>
+          <name>SOLR_SERVER</name>
+          <displayName>Solr Server</displayName>
           <category>MASTER</category>
           <cardinality>1+</cardinality>
           <versionAdvertised>true</versionAdvertised>
diff --git 
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/params.py
 
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/params.py
index e1675d45c3..0396bf1cc7 100644
--- 
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/params.py
@@ -23,6 +23,9 @@ from resource_management.libraries.functions.default import 
default
 from resource_management.libraries.functions.format import format
 from resource_management.libraries.functions.is_empty import is_empty
 from resource_management.libraries.script.script import Script
+from resource_management.libraries.functions.stack_features import 
check_stack_feature
+from resource_management.libraries.functions.version import 
format_stack_version
+from resource_management.libraries.functions import StackFeature
 
 import status_params
 
@@ -46,10 +49,16 @@ def get_name_from_principal(principal):
 # config object that holds the configurations declared in the -site.xml file
 config = Script.get_config()
 tmp_dir = Script.get_tmp_dir()
+stack_root = Script.get_stack_root()
+
+# This is expected to be of the form #.#.#
+stack_version_unformatted = config['clusterLevelParams']['stack_version']
+stack_version_formatted = format_stack_version(stack_version_unformatted)
 
 stack_version = default("/commandParams/version", None)
 sudo = AMBARI_SUDO_BINARY
 security_enabled = status_params.security_enabled
+component_directory = status_params.component_directory
 
 hostname = config['agentLevelParams']['hostname'].lower()
 
@@ -84,6 +93,10 @@ zookeeper_hosts = ",".join(zookeeper_hosts_list)
 # Only supporting SolrCloud mode - so hardcode those options
 solr_cloudmode = 'true'
 solr_dir = '/usr/lib/solr'
+
+if stack_version_formatted and 
check_stack_feature(StackFeature.ROLLING_UPGRADE, stack_version_formatted):
+  solr_dir = format("{stack_root}/current/{component_directory}")
+
 solr_bindir = solr_dir + '/bin'
 
 zookeeper_port = default('/configurations/zoo.cfg/clientPort', None)
@@ -97,12 +110,12 @@ for host in 
config['clusterHostInfo']['zookeeper_server_hosts']:
     zookeeper_quorum += ","
 
 if "solr-env" in config['configurations']:
-  solr_hosts = config['clusterHostInfo']['solr_hosts']
+  solr_hosts = config['clusterHostInfo']['solr_server_hosts']
   solr_znode = config['configurations']['solr-env']['solr_znode']
   solr_min_mem = format(config['configurations']['solr-env']['solr_minmem'])
   solr_max_mem = format(config['configurations']['solr-env']['solr_maxmem'])
   solr_java_stack_size = 
format(config['configurations']['solr-env']['solr_java_stack_size'])
-  solr_instance_count = len(config['clusterHostInfo']['solr_hosts'])
+  solr_instance_count = len(config['clusterHostInfo']['solr_server_hosts'])
   solr_datadir = format(config['configurations']['solr-env']['solr_datadir'])
   solr_data_resources_dir = os.path.join(solr_datadir, 'resources')
   solr_jmx_port = config['configurations']['solr-env']['solr_jmx_port']
diff --git 
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/status_params.py
 
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/status_params.py
index 2613e1b4b3..20e60d3d26 100644
--- 
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/status_params.py
+++ 
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/SOLR/package/scripts/status_params.py
@@ -24,9 +24,12 @@ from resource_management.libraries.functions import 
get_kinit_path
 from resource_management.libraries.functions.default import default
 from resource_management.libraries.functions.format import format
 from resource_management.libraries.script.script import Script
+from resource_management.libraries.functions import stack_select
 
 config = Script.get_config()
 
+component_directory = stack_select.get_package_name(default_package = 
'solr-server')
+
 solr_port = default('configurations/solr-env/solr_port', '8983')
 solr_piddir = default('configurations/solr-env/solr_pid_dir', '/var/run/solr')
 solr_pidfile = format("{solr_piddir}/solr-{solr_port}.pid")


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to