You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2014/02/04 14:13:16 UTC

git commit: AMBARI-4518 Add description to the configuration properties in storm-site.xml. (ababiichuk via Denys Buzhor)

Updated Branches:
  refs/heads/trunk 6ad7de9d1 -> 2134e526c


AMBARI-4518 Add description to the configuration properties in storm-site.xml. (ababiichuk via Denys Buzhor)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2134e526
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2134e526
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2134e526

Branch: refs/heads/trunk
Commit: 2134e526cbf44e7459d4c61c86cb2f141d9a8416
Parents: 6ad7de9
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Tue Feb 4 15:12:57 2014 +0200
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Tue Feb 4 15:12:57 2014 +0200

----------------------------------------------------------------------
 .../services/STORM/configuration/storm-site.xml | 287 ++++++++++++-------
 ambari-web/app/data/HDP2/global_properties.js   |  12 +-
 ambari-web/app/data/HDP2/site_properties.js     |   6 +-
 3 files changed, 189 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/2134e526/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/configuration/storm-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/configuration/storm-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/configuration/storm-site.xml
index de0a00c..4a129e1 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/configuration/storm-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/configuration/storm-site.xml
@@ -24,92 +24,97 @@
   <property>
     <name>java.library.path</name>
     <value>/usr/local/lib:/opt/local/lib:/usr/lib</value>
-    <description></description>
+    <description>This value is passed to spawned JVMs (e.g., Nimbus, Supervisor, and Workers)
+       for the java.library.path value. java.library.path tells the JVM where
+       to look for native libraries. It is necessary to set this config correctly since
+       Storm uses the ZeroMQ and JZMQ native libs. </description>
   </property>
   <property>
     <name>storm.local.dir</name>
     <value>/hadoop/storm</value>
-    <description>The place where jars are kept</description>
+    <description>A directory on the local filesystem used by Storm for any local
+       filesystem usage it needs. The directory must exist and the Storm daemons must
+       have permission to read/write from this location.</description>
   </property>
   <property>
     <name>storm.zookeeper.servers</name>
     <value>['localhost']</value>
-    <description></description>
+    <description>A list of hosts of ZooKeeper servers used to manage the cluster.</description>
   </property>
   <property>
     <name>storm.zookeeper.port</name>
     <value>2181</value>
-    <description></description>
+    <description>The port Storm will use to connect to each of the ZooKeeper servers.</description>
   </property>
   <property>
     <name>storm.zookeeper.root</name>
     <value>/storm</value>
-    <description></description>
+    <description>The root location at which Storm stores data in ZooKeeper.</description>
   </property>
   <property>
     <name>storm.zookeeper.session.timeout</name>
     <value>20000</value>
-    <description></description>
+    <description>The session timeout for clients to ZooKeeper.</description>
   </property>
   <property>
     <name>storm.zookeeper.connection.timeout</name>
     <value>15000</value>
-    <description></description>
+    <description>The connection timeout for clients to ZooKeeper.</description>
   </property>
   <property>
     <name>storm.zookeeper.retry.times</name>
     <value>5</value>
-    <description></description>
+    <description>The number of times to retry a Zookeeper operation.</description>
   </property>
   <property>
     <name>storm.zookeeper.retry.interval</name>
     <value>1000</value>
-    <description></description>
+    <description>The interval between retries of a Zookeeper operation.</description>
   </property>
   <property>
     <name>storm.zookeeper.retry.intervalceiling.millis</name>
     <value>30000</value>
-    <description></description>
+    <description>The ceiling of the interval between retries of a Zookeeper operation.</description>
   </property>
   <property>
     <name>storm.cluster.mode</name>
     <value>distributed</value>
-    <description>Can be distributed or local</description>
+    <description>The mode this Storm cluster is running in. Either "distributed" or "local".</description>
   </property>
   <property>
     <name>storm.local.mode.zmq</name>
     <value>false</value>
-    <description></description>
+    <description>Whether or not to use ZeroMQ for messaging in local mode. If this is set
+       to false, then Storm will use a pure-Java messaging system. The purpose
+       of this flag is to make it easy to run Storm in local mode by eliminating
+       the need for native dependencies, which can be difficult to install.
+    </description>
   </property>
   <property>
     <name>storm.thrift.transport</name>
     <value>backtype.storm.security.auth.SimpleTransportPlugin</value>
-    <description></description>
-  </property>
-  <property>
-    <name>storm.messaging.transport</name>
-    <value>backtype.storm.messaging.netty.Context</value>
-    <description></description>
+    <description>The transport plug-in for Thrift client/server communication.</description>
   </property>
   <property>
     <name>storm.messaging.transport</name>
     <value>backtype.storm.messaging.netty.Context</value>
-    <description></description>
+    <description>The transporter for communication among Storm tasks.</description>
   </property>
   <property>
     <name>nimbus.host</name>
     <value>localhost</value>
-    <description></description>
+    <description>The host that the master server is running on.</description>
   </property>
   <property>
     <name>nimbus.thrift.port</name>
     <value>6627</value>
-    <description></description>
+    <description> Which port the Thrift interface of Nimbus should run on. Clients should
+       connect to this port to upload jars and submit topologies.</description>
   </property>
   <property>
     <name>nimbus.thrift.max_buffer_size</name>
     <value>1048576</value>
-    <description></description>
+    <description>The maximum buffer size thrift should use when reading messages.</description>
   </property>
   <property>
     <name>nimbus.childopts</name>
@@ -119,127 +124,143 @@
   <property>
     <name>nimbus.task.timeout.secs</name>
     <value>30</value>
-    <description></description>
+    <description>How long without heartbeating a task can go before nimbus will consider the task dead and reassign it to another location.</description>
   </property>
   <property>
     <name>nimbus.supervisor.timeout.secs</name>
     <value>60</value>
-    <description></description>
+    <description>How long before a supervisor can go without heartbeating before nimbus considers it dead and stops assigning new work to it.</description>
   </property>
   <property>
     <name>nimbus.monitor.freq.secs</name>
     <value>10</value>
-    <description></description>
+    <description>
+      How often nimbus should wake up to check heartbeats and do reassignments. Note
+       that if a machine ever goes down Nimbus will immediately wake up and take action.
+       This parameter is for checking for failures when there's no explicit event like that occuring.
+    </description>
   </property>
   <property>
     <name>nimbus.cleanup.inbox.freq.secs</name>
     <value>600</value>
-    <description></description>
+    <description>How often nimbus should wake the cleanup thread to clean the inbox.</description>
   </property>
   <property>
     <name>nimbus.inbox.jar.expiration.secs</name>
     <value>3600</value>
-    <description></description>
+    <description>
+      The length of time a jar file lives in the inbox before being deleted by the cleanup thread.
+
+       Probably keep this value greater than or equal to NIMBUS_CLEANUP_INBOX_JAR_EXPIRATION_SECS.
+       Note that the time it takes to delete an inbox jar file is going to be somewhat more than
+       NIMBUS_CLEANUP_INBOX_JAR_EXPIRATION_SECS (depending on how often NIMBUS_CLEANUP_FREQ_SECS is set to).
+      </description>
   </property>
   <property>
     <name>nimbus.task.launch.secs</name>
     <value>120</value>
-    <description></description>
+    <description>A special timeout used when a task is initially launched. During launch, this is the timeout
+       used until the first heartbeat, overriding nimbus.task.timeout.secs.</description>
   </property>
   <property>
     <name>nimbus.reassign</name>
     <value>true</value>
-    <description></description>
+    <description>Whether or not nimbus should reassign tasks if it detects that a task goes down.
+       Defaults to true, and it's not recommended to change this value.</description>
   </property>
   <property>
     <name>nimbus.file.copy.expiration.secs</name>
     <value>600</value>
-    <description></description>
+    <description>During upload/download with the master, how long an upload or download connection is idle
+       before nimbus considers it dead and drops the connection.</description>
   </property>
   <property>
     <name>nimbus.topology.validator</name>
     <value>backtype.storm.nimbus.DefaultTopologyValidator</value>
-    <description></description>
+    <description>A custom class that implements ITopologyValidator that is run whenever a
+       topology is submitted. Can be used to provide business-specific logic for
+       whether topologies are allowed to run or not.</description>
   </property>
   <property>
     <name>ui.port</name>
     <value>8744</value>
-    <description></description>
+    <description>Storm UI binds to this port.</description>
   </property>
   <property>
     <name>ui.childopts</name>
     <value>-Xmx768m</value>
-    <description></description>
+    <description>Childopts for Storm UI Java process.</description>
   </property>
   <property>
     <name>logviewer.port</name>
     <value>8000</value>
-    <description></description>
-  </property>
-  <property>
-    <name>logviewer.port</name>
-    <value>8000</value>
-    <description></description>
+    <description>HTTP UI port for log viewer.</description>
   </property>
   <property>
     <name>logviewer.childopts</name>
     <value>-Xmx128m</value>
-    <description></description>
+    <description>Childopts for log viewer java process.</description>
   </property>
   <property>
     <name>logviewer.appender.name</name>
     <value>A1</value>
-    <description></description>
+    <description>Appender name used by log viewer to determine log directory.</description>
   </property>
   <property>
     <name>drpc.port</name>
     <value>3772</value>
-    <description></description>
+    <description>This port is used by Storm DRPC for receiving DPRC requests from clients.</description>
   </property>
   <property>
     <name>drpc.worker.threads</name>
     <value>64</value>
-    <description></description>
+    <description>DRPC thrift server worker threads.</description>
   </property>
   <property>
     <name>drpc.queue.size</name>
     <value>128</value>
-    <description></description>
+    <description>DRPC thrift server queue size.</description>
   </property>
   <property>
     <name>drpc.invocations.port</name>
     <value>3773</value>
-    <description></description>
+    <description>This port on Storm DRPC is used by DRPC topologies to receive function invocations and send results back.</description>
   </property>
   <property>
     <name>drpc.request.timeout.secs</name>
     <value>600</value>
-    <description></description>
+    <description>The timeout on DRPC requests within the DRPC server. Defaults to 10 minutes. Note that requests can also
+       timeout based on the socket timeout on the DRPC client, and separately based on the topology message
+       timeout for the topology implementing the DRPC function.</description>
   </property>
   <property>
     <name>drpc.childopts</name>
     <value>-Xmx768m</value>
-    <description></description>
+    <description>Childopts for Storm DRPC Java process.</description>
   </property>
   <property>
     <name>transactional.zookeeper.root</name>
     <value>/transactional</value>
-    <description></description>
+    <description>The root directory in ZooKeeper for metadata about TransactionalSpouts.</description>
   </property>
   <property>
     <name>transactional.zookeeper.servers</name>
     <value>null</value>
-    <description></description>
+    <description>The list of zookeeper servers in which to keep the transactional state. If null (which is default),
+       will use storm.zookeeper.servers</description>
   </property>
   <property>
     <name>transactional.zookeeper.port</name>
     <value>null</value>
-    <description></description>
+    <description>The port to use to connect to the transactional zookeeper servers. If null (which is default),
+       will use storm.zookeeper.port</description>
   </property>
   <property>
     <name>supervisor.slots.ports</name>
     <value>[6700, 6701]</value>
-    <description></description>
+    <description>A list of ports that can run workers on this supervisor. Each worker uses one port, and
+       the supervisor will only run one worker per port. Use this configuration to tune
+       how many workers run on each machine.</description>
   </property>
   <property>
     <name>supervisor.childopts</name>
@@ -249,27 +270,32 @@
   <property>
     <name>supervisor.worker.start.timeout.secs</name>
     <value>120</value>
-    <description>How long supervisor will wait to ensure that a worker process is started</description>
+    <description>How long a worker can go without heartbeating during the initial launch before
+       the supervisor tries to restart the worker process. This value override
+       supervisor.worker.timeout.secs during launch because there is additional
+       overhead to starting and configuring the JVM on launch.</description>
   </property>
   <property>
     <name>supervisor.worker.timeout.secs</name>
     <value>30</value>
-    <description>How long between heartbeats until supervisor considers that worker dead and tries to restart it</description>
+    <description>How long a worker can go without heartbeating before the supervisor tries to restart the worker process.</description>
   </property>
   <property>
     <name>supervisor.monitor.frequency.secs</name>
     <value>3</value>
-    <description>How frequently the supervisor checks on the status of the processes it's monitoring and restarts if necessary</description>
+    <description>How often the supervisor checks the worker heartbeats to see if any of them need to be restarted.</description>
   </property>
   <property>
     <name>supervisor.heartbeat.frequency.secs</name>
     <value>5</value>
-    <description>How frequently the supervisor heartbeats to the cluster state (for nimbus)</description>
+    <description>How often the supervisor sends a heartbeat to the master.</description>
   </property>
   <property>
     <name>supervisor.enable</name>
     <value>true</value>
-    <description></description>
+    <description>Whether or not the supervisor should launch workers assigned to it. Defaults
+       to true -- and you should probably never change this value. This configuration
+       is used in the Storm unit tests.</description>
   </property>
   <property>
     <name>worker.childopts</name>
@@ -279,236 +305,283 @@
   <property>
     <name>worker.heartbeat.frequency.secs</name>
     <value>1</value>
-    <description></description>
+    <description>How often this worker should heartbeat to the supervisor.</description>
   </property>
   <property>
     <name>task.heartbeat.frequency.secs</name>
     <value>3</value>
-    <description></description>
+    <description>How often a task should heartbeat its status to the master.</description>
   </property>
   <property>
     <name>task.refresh.poll.secs</name>
     <value>10</value>
-    <description></description>
+    <description>How often a task should sync its connections with other tasks (if a task is
+       reassigned, the other tasks sending messages to it need to refresh their connections).
+       In general though, when a reassignment happens other tasks will be notified
+       almost immediately. This configuration is here just in case that notification doesn't
+       come through.</description>
   </property>
   <property>
     <name>zmq.threads</name>
     <value>1</value>
-    <description></description>
+    <description>The number of threads that should be used by the zeromq context in each worker process.</description>
   </property>
   <property>
     <name>zmq.linger.millis</name>
     <value>5000</value>
-    <description></description>
+    <description>How long a connection should retry sending messages to a target host when
+       the connection is closed. This is an advanced configuration and can almost
+       certainly be ignored.</description>
   </property>
   <property>
     <name>zmq.hwm</name>
     <value>0</value>
-    <description></description>
+    <description>The high water for the ZeroMQ push sockets used for networking. Use this config to prevent buffer explosion
+       on the networking layer.</description>
   </property>
   <property>
     <name>storm.messaging.netty.server_worker_threads</name>
     <value>1</value>
-    <description></description>
+    <description>Netty based messaging: The # of worker threads for the server.</description>
   </property>
   <property>
     <name>storm.messaging.netty.client_worker_threads</name>
     <value>1</value>
-    <description></description>
+    <description>Netty based messaging: The # of worker threads for the client.</description>
   </property>
   <property>
     <name>storm.messaging.netty.buffer_size</name>
     <value>5242880</value>
-    <description></description>
+    <description>Netty based messaging: The buffer size for send/recv buffer.</description>
   </property>
   <property>
     <name>storm.messaging.netty.max_retries</name>
     <value>30</value>
-    <description></description>
+    <description>Netty based messaging: The max # of retries that a peer will perform when a remote is not accessible.</description>
   </property>
   <property>
     <name>storm.messaging.netty.max_wait_ms</name>
     <value>1000</value>
-    <description></description>
+    <description>Netty based messaging: The max # of milliseconds that a peer will wait.</description>
   </property>
   <property>
     <name>storm.messaging.netty.min_wait_ms</name>
     <value>100</value>
-    <description></description>
+    <description>Netty based messaging: The min # of milliseconds that a peer will wait.</description>
   </property>
   <property>
     <name>topology.enable.message.timeouts</name>
     <value>true</value>
-    <description></description>
+    <description>True if Storm should timeout messages or not. Defaults to true. This is meant to be used
+       in unit tests to prevent tuples from being accidentally timed out during the test.</description>
   </property>
   <property>
     <name>topology.debug</name>
     <value>false</value>
-    <description></description>
+    <description>When set to true, Storm will log every message that's emitted.</description>
   </property>
   <property>
     <name>topology.optimize</name>
     <value>true</value>
-    <description></description>
+    <description>Whether or not the master should optimize topologies by running multiple tasks in a single thread where appropriate.</description>
   </property>
   <property>
     <name>topology.workers</name>
     <value>1</value>
-    <description></description>
+    <description>How many processes should be spawned around the cluster to execute this
+       topology. Each process will execute some number of tasks as threads within
+       them. This parameter should be used in conjunction with the parallelism hints
+       on each component in the topology to tune the performance of a topology.</description>
   </property>
   <property>
     <name>topology.acker.executors</name>
     <value>null</value>
-    <description></description>
+    <description>How many executors to spawn for ackers.
+
+      If this is set to 0, then Storm will immediately ack tuples as soon
+       as they come off the spout, effectively disabling reliability.
+    </description>
   </property>
   <property>
     <name>topology.message.timeout.secs</name>
     <value>30</value>
-    <description>Maximum amount of time a message has to complete before it's considered failed</description>
+    <description>The maximum amount of time given to the topology to fully process a message
+       emitted by a spout. If the message is not acked within this time frame, Storm
+       will fail the message on the spout. Some spouts implementations will then replay
+       the message at a later time.</description>
   </property>
   <property>
     <name>topology.skip.missing.kryo.registrations</name>
     <value>false</value>
-    <description></description>
+    <description> Whether or not Storm should skip the loading of kryo registrations for which it
+       does not know the class or have the serializer implementation. Otherwise, the task will
+       fail to load and will throw an error at runtime. The use case of this is if you want to
+       declare your serializations on the storm.yaml files on the cluster rather than every single
+       time you submit a topology. Different applications may use different serializations and so
+       a single application may not have the code for the other serializers used by other apps.
+       By setting this config to true, Storm will ignore that it doesn't have those other serializations
+       rather than throw an error.</description>
   </property>
   <property>
     <name>topology.max.task.parallelism</name>
     <value>null</value>
-    <description></description>
+    <description>The maximum parallelism allowed for a component in this topology. This configuration is
+       typically used in testing to limit the number of threads spawned in local mode.</description>
   </property>
   <property>
     <name>topology.max.spout.pending</name>
     <value>null</value>
-    <description></description>
+    <description>The maximum number of tuples that can be pending on a spout task at any given time.
+       This config applies to individual tasks, not to spouts or topologies as a whole.
+
+       A pending tuple is one that has been emitted from a spout but has not been acked or failed yet.
+       Note that this config parameter has no effect for unreliable spouts that don't tag
+       their tuples with a message id.</description>
   </property>
   <property>
     <name>topology.state.synchronization.timeout.secs</name>
     <value>60</value>
-    <description></description>
+    <description>The maximum amount of time a component gives a source of state to synchronize before it requests
+       synchronization again.</description>
   </property>
   <property>
     <name>topology.stats.sample.rate</name>
     <value>0.05</value>
-    <description></description>
+    <description>The percentage of tuples to sample to produce stats for a task.</description>
   </property>
   <property>
     <name>topology.builtin.metrics.bucket.size.secs</name>
     <value>60</value>
-    <description></description>
+    <description>The time period that builtin metrics data in bucketed into.</description>
   </property>
   <property>
     <name>topology.fall.back.on.java.serialization</name>
     <value>true</value>
-    <description></description>
+    <description>Whether or not to use Java serialization in a topology.</description>
   </property>
   <property>
     <name>topology.worker.childopts</name>
     <value>null</value>
-    <description></description>
+    <description>Topology-specific options for the worker child process. This is used in addition to WORKER_CHILDOPTS.</description>
   </property>
   <property>
     <name>topology.executor.receive.buffer.size</name>
     <value>1024</value>
-    <description></description>
+    <description>The size of the Disruptor receive queue for each executor. Must be a power of 2.</description>
   </property>
   <property>
     <name>topology.executor.send.buffer.size</name>
     <value>1024</value>
-    <description></description>
+    <description>The size of the Disruptor send queue for each executor. Must be a power of 2.</description>
   </property>
   <property>
     <name>topology.receiver.buffer.size</name>
     <value>8</value>
-    <description>Setting it too high causes a lot of problems (heartbeat thread gets starved, throughput plummets)</description>
+    <description>The maximum number of messages to batch from the thread receiving off the network to the
+       executor queues. Must be a power of 2.</description>
   </property>
   <property>
     <name>topology.transfer.buffer.size</name>
     <value>1024</value>
-    <description></description>
+    <description>The size of the Disruptor transfer queue for each worker.</description>
   </property>
   <property>
     <name>topology.tick.tuple.freq.secs</name>
     <value>null</value>
-    <description></description>
+    <description>How often a tick tuple from the "__system" component and "__tick" stream should be sent
+       to tasks. Meant to be used as a component-specific configuration.</description>
   </property>
   <property>
     <name>topology.worker.shared.thread.pool.size</name>
     <value>4</value>
-    <description></description>
+    <description>The size of the shared thread pool for worker tasks to make use of. The thread pool can be accessed
+       via the TopologyContext.</description>
   </property>
   <property>
     <name>topology.disruptor.wait.strategy</name>
     <value>com.lmax.disruptor.BlockingWaitStrategy</value>
-    <description></description>
+    <description>Configure the wait strategy used for internal queuing. Can be used to tradeoff latency
+       vs. throughput.</description>
   </property>
   <property>
     <name>topology.executor.send.buffer.size</name>
     <value>1024</value>
-    <description></description>
+    <description>The size of the Disruptor send queue for each executor. Must be a power of 2.</description>
   </property>
   <property>
     <name>topology.receiver.buffer.size</name>
     <value>8</value>
-    <description></description>
+    <description>The maximum number of messages to batch from the thread receiving off the network to the
+       executor queues. Must be a power of 2.</description>
   </property>
   <property>
     <name>topology.transfer.buffer.size</name>
     <value>1024</value>
-    <description></description>
+    <description>The size of the Disruptor transfer queue for each worker.</description>
   </property>
   <property>
     <name>topology.tick.tuple.freq.secs</name>
     <value>null</value>
-    <description></description>
+    <description>How often a tick tuple from the "__system" component and "__tick" stream should be sent
+       to tasks. Meant to be used as a component-specific configuration.</description>
   </property>
   <property>
     <name>topology.worker.shared.thread.pool.size</name>
     <value>4</value>
-    <description></description>
-  </property>
-  <property>
-    <name>topology.disruptor.wait.strategy</name>
-    <value>com.lmax.disruptor.BlockingWaitStrategy</value>
-    <description></description>
+    <description>The size of the shared thread pool for worker tasks to make use of. The thread pool can be accessed
+       via the TopologyContext.</description>
   </property>
   <property>
     <name>topology.spout.wait.strategy</name>
     <value>backtype.storm.spout.SleepSpoutWaitStrategy</value>
-    <description></description>
+    <description>A class that implements a strategy for what to do when a spout needs to wait. Waiting is
+       triggered in one of two conditions:
+
+       1. nextTuple emits no tuples
+       2. The spout has hit maxSpoutPending and can't emit any more tuples</description>
   </property>
   <property>
     <name>topology.sleep.spout.wait.strategy.time.ms</name>
     <value>1</value>
-    <description></description>
+    <description>The amount of milliseconds the SleepEmptyEmitStrategy should sleep for.</description>
   </property>
   <property>
     <name>topology.error.throttle.interval.secs</name>
     <value>10</value>
-    <description></description>
+    <description>The interval in seconds to use for determining whether to throttle error reported to Zookeeper. For example,
+       an interval of 10 seconds with topology.max.error.report.per.interval set to 5 will only allow 5 errors to be
+       reported to Zookeeper per task for every 10 second interval of time.</description>
   </property>
   <property>
     <name>topology.max.error.report.per.interval</name>
     <value>5</value>
-    <description></description>
+    <description>The interval in seconds to use for determining whether to throttle error reported to Zookeeper. For example,
+       an interval of 10 seconds with topology.max.error.report.per.interval set to 5 will only allow 5 errors to be
+       reported to Zookeeper per task for every 10 second interval of time.</description>
   </property>
   <property>
     <name>topology.kryo.factory</name>
     <value>backtype.storm.serialization.DefaultKryoFactory</value>
-    <description></description>
+    <description>Class that specifies how to create a Kryo instance for serialization. Storm will then apply
+       topology.kryo.register and topology.kryo.decorators on top of this. The default implementation
+       implements topology.fall.back.on.java.serialization and turns references off.</description>
   </property>
   <property>
     <name>topology.tuple.serializer</name>
     <value>backtype.storm.serialization.types.ListDelegateSerializer</value>
-    <description></description>
+    <description>The serializer class for ListDelegate (tuple payload).
+       The default serializer will be ListDelegateSerializer</description>
   </property>
   <property>
     <name>topology.trident.batch.emit.interval.millis</name>
     <value>500</value>
-    <description></description>
+    <description>How often a batch can be emitted in a Trident topology.</description>
   </property>
   <property>
     <name>dev.zookeeper.path</name>
     <value>/tmp/dev-storm-zookeeper</value>
-    <description></description>
+    <description>The path to use as the zookeeper dir when running a zookeeper server via
+       "storm dev-zookeeper". This zookeeper instance is only intended for development;
+       it is not a production grade zookeeper setup.</description>
   </property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/2134e526/ambari-web/app/data/HDP2/global_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/global_properties.js b/ambari-web/app/data/HDP2/global_properties.js
index 293b224..7ddbe99 100644
--- a/ambari-web/app/data/HDP2/global_properties.js
+++ b/ambari-web/app/data/HDP2/global_properties.js
@@ -1381,7 +1381,7 @@ module.exports =
       "id": "puppet var",
       "name": "storm_log_dir",
       "displayName": "storm_log_dir",
-      "description": "",
+      "description": "Storm log directory",
       "defaultValue": "/var/log/storm",
       "displayType": "directory",
       "isReconfigurable": true,
@@ -1394,7 +1394,7 @@ module.exports =
       "id": "puppet var",
       "name": "storm_pid_dir",
       "displayName": "storm_pid_dir",
-      "description": "",
+      "description": "Storm PID directory",
       "defaultValue": "/var/run/storm",
       "displayType": "directory",
       "isReconfigurable": true,
@@ -1407,7 +1407,7 @@ module.exports =
       "id": "puppet var",
       "name": "stormuiserver_host",
       "displayName": "Storm UI Server host",
-      "description": "",
+      "description": "The host that has been assigned to run Storm UI Server",
       "defaultValue": "",
       "displayType": "masterHost",
       "isReconfigurable": false,
@@ -1420,7 +1420,7 @@ module.exports =
       "id": "puppet var",
       "name": "logviewerserver_host",
       "displayName": "Logviewer Server host",
-      "description": "",
+      "description": "The host that has been assigned to run Logviewer Server",
       "defaultValue": "",
       "displayType": "masterHost",
       "isReconfigurable": false,
@@ -1433,7 +1433,7 @@ module.exports =
       "id": "puppet var",
       "name": "drpcserver_host",
       "displayName": "DRPC Server host",
-      "description": "",
+      "description": "The host that has been assigned to run DRPC Server",
       "defaultValue": "",
       "displayType": "masterHost",
       "isReconfigurable": false,
@@ -1446,7 +1446,7 @@ module.exports =
       "id": "puppet var",
       "name": "supervisor_hosts",
       "displayName": "Supervisor hosts",
-      "description": "",
+      "description": "The host that has been assigned to run Supervisor",
       "defaultValue": "",
       "displayType": "masterHosts",
       "isReconfigurable": false,

http://git-wip-us.apache.org/repos/asf/ambari/blob/2134e526/ambari-web/app/data/HDP2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/site_properties.js b/ambari-web/app/data/HDP2/site_properties.js
index afa4838..59a0397 100644
--- a/ambari-web/app/data/HDP2/site_properties.js
+++ b/ambari-web/app/data/HDP2/site_properties.js
@@ -980,7 +980,7 @@ module.exports =
       "id": "site property",
       "name": "nimbus.childopts",
       "displayName": "nimbus.childopts",
-      "description": "",
+      "description": "This parameter is used by the storm-deploy project to configure the jvm options for the nimbus daemon.",
       "defaultValue": "-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8649,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Nimbus_JVM -Xmx1024m",
       "isReconfigurable": true,
       "isVisible": false,
@@ -1127,7 +1127,7 @@ module.exports =
     },
     {
       "id":"site property",
-      "description":"",
+      "description":"This parameter is used by the storm-deploy project to configure the jvm options for the supervisor daemon.",
       "isReconfigurable": true,
       "isVisible":false,
       "isRequiredByAgent":true,
@@ -1354,7 +1354,7 @@ module.exports =
     },
     {
       "id": "site property",
-      "description": "",
+      "description": "The jvm opts provided to workers launched by this supervisor. All \"%ID%\" substrings are replaced with an identifier for this worker.",
       "isReconfigurable": true,
       "isVisible": false,
       "isRequiredByAgent": true,