Return-Path: X-Original-To: apmail-ambari-dev-archive@www.apache.org Delivered-To: apmail-ambari-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AAF2410E30 for ; Mon, 3 Nov 2014 20:19:35 +0000 (UTC) Received: (qmail 79741 invoked by uid 500); 3 Nov 2014 20:19:34 -0000 Delivered-To: apmail-ambari-dev-archive@ambari.apache.org Received: (qmail 79679 invoked by uid 500); 3 Nov 2014 20:19:34 -0000 Mailing-List: contact dev-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ambari.apache.org Delivered-To: mailing list dev@ambari.apache.org Received: (qmail 79506 invoked by uid 99); 3 Nov 2014 20:19:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2014 20:19:34 +0000 Date: Mon, 3 Nov 2014 20:19:34 +0000 (UTC) From: "Jeff Sposetti (JIRA)" To: dev@ambari.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (AMBARI-8124) Stack/Service/Component/Configurations API call returns invalid JSON response in some cases MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMBARI-8124?page=3Dcom.atlassia= n.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D141= 95025#comment-14195025 ]=20 Jeff Sposetti commented on AMBARI-8124: --------------------------------------- FWIW, looks like Ambari Web stopped using /stacks2 in release 1.6.1. There = might still be a fix needed in /stacks but just linking some history here r= elated to /stacks and /stacks2. > Stack/Service/Component/Configurations API call returns invalid JSON resp= onse in some cases > -------------------------------------------------------------------------= ------------------ > > Key: AMBARI-8124 > URL: https://issues.apache.org/jira/browse/AMBARI-8124 > Project: Ambari > Issue Type: Bug > Components: ambari-server > Affects Versions: 1.7.0 > Reporter: Greg Hill > > The HBASE 'content' configurations item returns two JSON data structures = separated by a space. This is not a valid response in a JSON API. The resp= onse needs to wrap the items in a list structure. Here is the call and res= ponse from a default ambari install on 1.7.0: > {noformat} > GET /api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE/configurations/c= ontent > { > "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versio= ns/2.1/stackServices/HBASE/configurations/content", > "StackConfigurations" : { > "final" : "false", > "property_description" : "Custom log4j.properties", > "property_name" : "content", > "property_type" : [ ], > "property_value" : "\n# Licensed to the Apache Software Foundation (A= SF) under one\n# or more contributor license agreements. See the NOTICE fi= le\n# distributed with this work for additional information\n# regarding co= pyright ownership. The ASF licenses this file\n# to you under the Apache L= icense, Version 2.0 (the\n# \"License\"); you may not use this file except = in compliance\n# with the License. You may obtain a copy of the License at= \n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required= by applicable law or agreed to in writing, software\n# distributed under t= he License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR C= ONDITIONS OF ANY KIND, either express or implied.\n# See the License for th= e specific language governing permissions and\n# limitations under the Lice= nse.\n\n\n# Define some default values that can be overridden by system pro= perties\nhbase.root.logger=3DINFO,console\nhbase.security.logger=3DINFO,con= sole\nhbase.log.dir=3D.\nhbase.log.file=3Dhbase.log\n\n# Define the root lo= gger to the system property \"hbase.root.logger\".\nlog4j.rootLogger=3D${hb= ase.root.logger}\n\n# Logging Threshold\nlog4j.threshold=3DALL\n\n#\n# Dail= y Rolling File Appender\n#\nlog4j.appender.DRFA=3Dorg.apache.log4j.DailyRol= lingFileAppender\nlog4j.appender.DRFA.File=3D${hbase.log.dir}/${hbase.log.f= ile}\n\n# Rollver at midnight\nlog4j.appender.DRFA.DatePattern=3D.yyyy-MM-d= d\n\n# 30-day backup\n#log4j.appender.DRFA.MaxBackupIndex=3D30\nlog4j.appen= der.DRFA.layout=3Dorg.apache.log4j.PatternLayout\n\n# Pattern format: Date = LogLevel LoggerName LogMessage\nlog4j.appender.DRFA.layout.ConversionPatter= n=3D%d{ISO8601} %-5p [%t] %c{2}: %m%n\n\n# Rolling File Appender properties= \nhbase.log.maxfilesize=3D256MB\nhbase.log.maxbackupindex=3D20\n\n# Rolling= File Appender\nlog4j.appender.RFA=3Dorg.apache.log4j.RollingFileAppender\n= log4j.appender.RFA.File=3D${hbase.log.dir}/${hbase.log.file}\n\nlog4j.appen= der.RFA.MaxFileSize=3D${hbase.log.maxfilesize}\nlog4j.appender.RFA.MaxBacku= pIndex=3D${hbase.log.maxbackupindex}\n\nlog4j.appender.RFA.layout=3Dorg.apa= che.log4j.PatternLayout\nlog4j.appender.RFA.layout.ConversionPattern=3D%d{I= SO8601} %-5p [%t] %c{2}: %m%n\n\n#\n# Security audit appender\n#\nhbase.sec= urity.log.file=3DSecurityAuth.audit\nhbase.security.log.maxfilesize=3D256MB= \nhbase.security.log.maxbackupindex=3D20\nlog4j.appender.RFAS=3Dorg.apache.= log4j.RollingFileAppender\nlog4j.appender.RFAS.File=3D${hbase.log.dir}/${hb= ase.security.log.file}\nlog4j.appender.RFAS.MaxFileSize=3D${hbase.security.= log.maxfilesize}\nlog4j.appender.RFAS.MaxBackupIndex=3D${hbase.security.log= .maxbackupindex}\nlog4j.appender.RFAS.layout=3Dorg.apache.log4j.PatternLayo= ut\nlog4j.appender.RFAS.layout.ConversionPattern=3D%d{ISO8601} %p %c: %m%n\= nlog4j.category.SecurityLogger=3D${hbase.security.logger}\nlog4j.additivity= .SecurityLogger=3Dfalse\n#log4j.logger.SecurityLogger.org.apache.hadoop.hba= se.security.access.AccessController=3DTRACE\n\n#\n# Null Appender\n#\nlog4j= .appender.NullAppender=3Dorg.apache.log4j.varia.NullAppender\n\n#\n# consol= e\n# Add \"console\" to rootlogger above if you want to use this\n#\nlog4j.= appender.console=3Dorg.apache.log4j.ConsoleAppender\nlog4j.appender.console= .target=3DSystem.err\nlog4j.appender.console.layout=3Dorg.apache.log4j.Patt= ernLayout\nlog4j.appender.console.layout.ConversionPattern=3D%d{ISO8601} %-= 5p [%t] %c{2}: %m%n\n\n# Custom Logging levels\n\nlog4j.logger.org.apache.z= ookeeper=3DINFO\n#log4j.logger.org.apache.hadoop.fs.FSNamesystem=3DDEBUG\nl= og4j.logger.org.apache.hadoop.hbase=3DDEBUG\n# Make these two classes INFO-= level. Make them DEBUG to see more zk debug.\nlog4j.logger.org.apache.hadoo= p.hbase.zookeeper.ZKUtil=3DINFO\nlog4j.logger.org.apache.hadoop.hbase.zooke= eper.ZooKeeperWatcher=3DINFO\n#log4j.logger.org.apache.hadoop.dfs=3DDEBUG\n= # Set this class to log INFO only otherwise its OTT\n# Enable this to get d= etailed connection error/retry logging.\n# log4j.logger.org.apache.hadoop.h= base.client.HConnectionManager$HConnectionImplementation=3DTRACE\n\n\n# Unc= omment this line to enable tracing on _every_ RPC call (this can be a lot o= f output)\n#log4j.logger.org.apache.hadoop.ipc.HBaseServer.trace=3DDEBUG\n\= n# Uncomment the below if you want to remove logging of client region cachi= ng'\n# and scan of .META. messages\n# log4j.logger.org.apache.hadoop.hbase.= client.HConnectionManager$HConnectionImplementation=3DINFO\n# log4j.logger.= org.apache.hadoop.hbase.client.MetaScanner=3DINFO\n\n ", > "service_name" : "HBASE", > "stack_name" : "HDP", > "stack_version" : "2.1", > "type" : "hbase-log4j.xml" > } > } { > "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versio= ns/2.1/stackServices/HBASE/configurations/content", > "StackConfigurations" : { > "final" : "false", > "property_description" : "This is the jinja template for hbase-env.sh= file", > "property_name" : "content", > "property_type" : [ ], > "property_value" : "\n# Set environment variables here.\n\n# The java= implementation to use. Java 1.6 required.\nexport JAVA_HOME=3D{{java64_hom= e}}\n\n# HBase Configuration directory\nexport HBASE_CONF_DIR=3D${HBASE_CON= F_DIR:-{{hbase_conf_dir}}}\n\n# Extra Java CLASSPATH elements. Optional.\ne= xport HBASE_CLASSPATH=3D${HBASE_CLASSPATH}\n\n# The maximum amount of heap = to use, in MB. Default is 1000.\n# export HBASE_HEAPSIZE=3D1000\n\n# Extra = Java runtime options.\n# Below are what we set by default. May only work wi= th SUN JVM.\n# For more on why as well as other possible settings,\n# see h= ttp://wiki.apache.org/hadoop/PerformanceTuning\nexport HBASE_OPTS=3D\"-XX:+= UseConcMarkSweepGC -XX:ErrorFile=3D{{log_dir}}/hs_err_pid%p.log\"\nexport S= ERVER_GC_OPTS=3D\"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -X= loggc:{{log_dir}}/gc.log-`date +'%Y%m%d%H%M'`\"\n# Uncomment below to enabl= e java garbage collection logging.\n# export HBASE_OPTS=3D\"$HBASE_OPTS -ve= rbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$HBASE_HOME/log= s/gc-hbase.log\"\n\n# Uncomment and adjust to enable JMX exporting\n# See j= mxremote.password and jmxremote.access in $JRE_HOME/lib/management to confi= gure remote password access.\n# More details at: http://java.sun.com/javase= /6/docs/technotes/guides/management/agent.html\n#\n# export HBASE_JMX_BASE= =3D\"-Dcom.sun.management.jmxremote.ssl=3Dfalse -Dcom.sun.management.jmxrem= ote.authenticate=3Dfalse\"\nexport HBASE_MASTER_OPTS=3D\"-Xmx{{master_heaps= ize}}\"\nexport HBASE_REGIONSERVER_OPTS=3D\"-Xmn{{regionserver_xmn_size}} -= XX:CMSInitiatingOccupancyFraction=3D70 -Xms{{regionserver_heapsize}} -Xmx{= {regionserver_heapsize}}\"\n# export HBASE_THRIFT_OPTS=3D\"$HBASE_JMX_BASE = -Dcom.sun.management.jmxremote.port=3D10103\"\n# export HBASE_ZOOKEEPER_OPT= S=3D\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=3D10104\"\n\n# Fi= le naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionse= rvers by default.\nexport HBASE_REGIONSERVERS=3D${HBASE_CONF_DIR}/regionser= vers\n\n# Extra ssh options. Empty by default.\n# export HBASE_SSH_OPTS=3D\= "-o ConnectTimeout=3D1 -o SendEnv=3DHBASE_CONF_DIR\"\n\n# Where log files a= re stored. $HBASE_HOME/logs by default.\nexport HBASE_LOG_DIR=3D{{log_dir}}= \n\n# A string representing this instance of hbase. $USER by default.\n# ex= port HBASE_IDENT_STRING=3D$USER\n\n# The scheduling priority for daemon pro= cesses. See 'man nice'.\n# export HBASE_NICENESS=3D10\n\n# The directory wh= ere pid files are stored. /tmp by default.\nexport HBASE_PID_DIR=3D{{pid_di= r}}\n\n# Seconds to sleep between slave commands. Unset by default. This\n#= can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwis= e arrive faster than the master can service them.\n# export HBASE_SLAVE_SLE= EP=3D0.1\n\n# Tell HBase whether it should manage it's own instance of Zook= eeper or not.\nexport HBASE_MANAGES_ZK=3Dfalse\n\n{% if security_enabled %}= \nexport HBASE_OPTS=3D\"$HBASE_OPTS -Djava.security.auth.login.config=3D{{c= lient_jaas_config_file}}\"\nexport HBASE_MASTER_OPTS=3D\"$HBASE_MASTER_OPTS= -Djava.security.auth.login.config=3D{{master_jaas_config_file}}\"\nexport = HBASE_REGIONSERVER_OPTS=3D\"$HBASE_REGIONSERVER_OPTS -Djava.security.auth.l= ogin.config=3D{{regionserver_jaas_config_file}}\"\n{% endif %}\n ", > "service_name" : "HBASE", > "stack_name" : "HDP", > "stack_version" : "2.1", > "type" : "hbase-env.xml" > } > } > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)