This is an automated email from the ASF dual-hosted git repository.
nkalmar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new ba6a039 Fix typos and grammar in zookeeper docs
ba6a039 is described below
commit ba6a0391082d984b38c509ce73ddc22896d95c7e
Author: Shashwat Anand <[email protected]>
AuthorDate: Tue Jun 4 10:47:08 2019 +0200
Fix typos and grammar in zookeeper docs
Raising a PR to fix typos and grammar in zookeeper docs.
Author: Shashwat Anand <[email protected]>
Reviewers: Enrico Olivelli <[email protected]>, Norbert Kalmar
<[email protected]>, Michael Han <[email protected]>
Closes #960 from ashashwat/master
---
.../src/main/resources/markdown/javaExample.md | 2 +-
.../src/main/resources/markdown/recipes.md | 6 ++--
.../src/main/resources/markdown/releasenotes.md | 6 ++--
.../src/main/resources/markdown/zookeeperAdmin.md | 14 ++++----
.../main/resources/markdown/zookeeperInternals.md | 10 +++---
.../src/main/resources/markdown/zookeeperJMX.md | 6 ++--
.../main/resources/markdown/zookeeperObservers.md | 6 ++--
.../src/main/resources/markdown/zookeeperOver.md | 8 ++---
.../resources/markdown/zookeeperProgrammers.md | 39 +++++++++++-----------
.../src/main/resources/markdown/zookeeperQuotas.md | 2 +-
.../main/resources/markdown/zookeeperReconfig.md | 12 +++----
.../main/resources/markdown/zookeeperStarted.md | 6 ++--
.../main/resources/markdown/zookeeperTutorial.md | 4 +--
13 files changed, 60 insertions(+), 61 deletions(-)
diff --git a/zookeeper-docs/src/main/resources/markdown/javaExample.md
b/zookeeper-docs/src/main/resources/markdown/javaExample.md
index 571ce6d..a94b083 100644
--- a/zookeeper-docs/src/main/resources/markdown/javaExample.md
+++ b/zookeeper-docs/src/main/resources/markdown/javaExample.md
@@ -133,7 +133,7 @@ to fire watch events. (More on this later.)
The **DataMonitorListener**
-interface, on the other hand, is not part of the the ZooKeeper API. It is a
completely custom interface,
+interface, on the other hand, is not part of the ZooKeeper API. It is a
completely custom interface,
designed for this sample application. The DataMonitor object uses it to
communicate back to its container, which
is also the Executor object. The DataMonitorListener interface looks like this:
diff --git a/zookeeper-docs/src/main/resources/markdown/recipes.md
b/zookeeper-docs/src/main/resources/markdown/recipes.md
index aba1024..ceb2e71 100644
--- a/zookeeper-docs/src/main/resources/markdown/recipes.md
+++ b/zookeeper-docs/src/main/resources/markdown/recipes.md
@@ -37,7 +37,7 @@ limitations under the License.
In this article, you'll find guidelines for using
ZooKeeper to implement higher order functions. All of them are conventions
implemented at the client and do not require special support from
-ZooKeeper. Hopfully the community will capture these conventions in
client-side libraries
+ZooKeeper. Hopefully the community will capture these conventions in
client-side libraries
to ease their use and to encourage standardization.
One of the most interesting things about ZooKeeper is that even
@@ -270,7 +270,7 @@ protocol:
| 1. Call **create( )** to create a node with pathname "*guid-/read-*". This
is the lock node use later in the protocol. Make sure to set both the
_sequence_ and _ephemeral_ flags. | 1. Call **create( )** to create a node with
pathname "*guid-/write-*". This is the lock node spoken of later in the
protocol. Make sure to set both _sequence_ and _ephemeral_ flags. |
| 2. Call **getChildren( )** on the lock node _without_ setting the _watch_
flag - this is important, as it avoids the herd effect. | 2. Call
**getChildren( )** on the lock node _without_ setting the _watch_ flag - this
is important, as it avoids the herd effect. |
| 3. If there are no children with a pathname starting with "*write-*" and
having a lower sequence number than the node created in step **1**, the client
has the lock and can exit the protocol. | 3. If there are no children with a
lower sequence number than the node created in step **1**, the client has the
lock and the client exits the protocol. |
-| 4. Otherwise, call **exists( )**, with _watch_ flag, set on the node in lock
directory with pathname staring with "*write-*" having the next lowest sequence
number. | 4. Call **exists( ),** with _watch_ flag set, on the node with the
pathname that has the next lowest sequence number. |
+| 4. Otherwise, call **exists( )**, with _watch_ flag, set on the node in lock
directory with pathname starting with "*write-*" having the next lowest
sequence number. | 4. Call **exists( ),** with _watch_ flag set, on the node
with the pathname that has the next lowest sequence number. |
| 5. If **exists( )** returns _false_, goto step **2**. | 5. If **exists( )**
returns _false_, goto step **2**. Otherwise, wait for a notification for the
pathname from the previous step before going to step **2**. |
| 6. Otherwise, wait for a notification for the pathname from the previous
step before going to step **2** | |
@@ -407,7 +407,7 @@ Upon receiving a notification of znode deletion:
Notes:
* Note that the znode having no preceding znode on the list of
- children does not imply that the creator of this znode is aware that it is
+ children do not imply that the creator of this znode is aware that it is
the current leader. Applications may consider creating a separate znode
to acknowledge that the leader has executed the leader procedure.
diff --git a/zookeeper-docs/src/main/resources/markdown/releasenotes.md
b/zookeeper-docs/src/main/resources/markdown/releasenotes.md
index 3664e83..67dd47a 100644
--- a/zookeeper-docs/src/main/resources/markdown/releasenotes.md
+++ b/zookeeper-docs/src/main/resources/markdown/releasenotes.md
@@ -71,11 +71,11 @@ Call specific watch functions receive all session events
for as long as they are
<a name="Java+API"></a>
#### Java API
-1. The java package structure has changed from **com.yahoo.zookeeper*** to
**org.apache.zookeeper***. This will probably effect all of your java code
which makes use of ZooKeeper APIs (typically import statements)
+1. The java package structure has changed from **com.yahoo.zookeeper*** to
**org.apache.zookeeper***. This will probably affect all of your java code
which makes use of ZooKeeper APIs (typically import statements)
1. A number of constants used in the client ZooKeeper API were re-specified
using enums (rather than ints). See
[ZOOKEEPER-7](https://issues.apache.org/jira/browse/ZOOKEEPER-7),
[ZOOKEEPER-132](https://issues.apache.org/jira/browse/ZOOKEEPER-132) and
[ZOOKEEPER-139](https://issues.apache.org/jira/browse/ZOOKEEPER-139) for full
details
1. [ZOOKEEPER-18](https://issues.apache.org/jira/browse/ZOOKEEPER-18) removed
KeeperStateChanged, use KeeperStateDisconnected instead
-Also see [the current java
API](http://zookeeper.apache.org/docs/current/api/index.html)
+Also see [the current Java
API](http://zookeeper.apache.org/docs/current/api/index.html)
<a name="C+API"></a>
#### C API
@@ -143,7 +143,7 @@ changed from a default of *0* to a default of *3*. See
[Cluster Options](zookeeperAdmin.html#sc_clusterOptions) section of the
administrators guide, specifically
the *electionAlg* and *server.X* properties.
-You will either need to explicitly set *electionAlg* to it's previous default
value
+You will either need to explicitly set *electionAlg* to its previous default
value
of *0* or change your *server.X* options to include the leader election port.
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperAdmin.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperAdmin.md
index 9e51fdd..ae0071c 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperAdmin.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperAdmin.md
@@ -166,7 +166,7 @@ your environment. If you have three ZooKeeper servers, but
their
network cables are all plugged into the same network switch, then
the failure of that switch will take down your entire ensemble.
-Here are the steps to setting a server that will be part of an
+Here are the steps to set a server that will be part of an
ensemble. These steps should be performed on every host in the
ensemble:
@@ -219,7 +219,7 @@ ensemble:
6. Create an initialization marker file *initialize*
in the same directory as *myid*. This file indicates
- that an empty data directory is expected. When present, an empty data base
+ that an empty data directory is expected. When present, an empty database
is created and the marker file deleted. When not present, an empty data
directory will mean this peer will not have voting rights and it will not
populate the data directory until it communicates with an active leader.
@@ -566,7 +566,7 @@ in the configuration file:
>Be careful where you put the transaction log. A
dedicated transaction log device is key to consistent good
performance. Putting the log on a busy device will adversely
- effect performance.
+ affect performance.
* *tickTime* :
the length of a single tick, which is the basic time unit
@@ -840,7 +840,7 @@ property, when available, is noted below.
* *flushDelay* :
(Java system property: **zookeeper.flushDelay**)
Time in milliseconds to delay the flush of the commit log.
- Does not effect the limit defined by *maxBatchSize*.
+ Does not affect the limit defined by *maxBatchSize*.
Disabled by default (with value 0). Ensembles with high write rates
may see throughput improved with a value of 10-20 ms.
@@ -854,7 +854,7 @@ property, when available, is noted below.
(Java system property: **zookeeper.maxBatchSize**)
The number of transactions allowed in the server before a flush of the
commit log is triggered.
- Does not effect the limit defined by *flushDelay*.
+ Does not affect the limit defined by *flushDelay*.
Default is 1000.
<a name="sc_clusterOptions"></a>
@@ -1826,7 +1826,7 @@ The format of snapshot and log files does not change
between
standalone ZooKeeper servers and different configurations of
replicated ZooKeeper servers. Therefore, you can pull these files from
a running replicated ZooKeeper server to a development machine with a
-stand-alone ZooKeeper server for trouble shooting.
+stand-alone ZooKeeper server for troubleshooting.
Using older log and snapshot files, you can look at the previous
state of ZooKeeper servers and even restore that state. The
@@ -1879,7 +1879,7 @@ ZooKeeper correctly:
transaction log. ZooKeeper syncs transactions to media before it
returns a response. A dedicated transaction log device is key to
consistent good performance. Putting the log on a busy device will
- adversely effect performance. If you only have one storage device,
+ adversely affect performance. If you only have one storage device,
increase the snapCount so that snapshot files are generated less often;
it does not eliminate the problem, but it makes more resources available
for the transaction log.
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperInternals.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperInternals.md
index 1ae343d..a3a5673 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperInternals.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperInternals.md
@@ -162,7 +162,7 @@ exact method of electing a leader as long as the following
holds:
* The leader has seen the highest zxid of all the followers.
* A quorum of servers have committed to following the leader.
-Of these two requirements only the first, the highest zxid amoung the followers
+Of these two requirements only the first, the highest zxid among the followers
needs to hold for correct operation. The second requirement, a quorum of
followers,
just needs to hold with high probability. We are going to recheck the second
requirement,
so if a failure happens during or after the leader election and quorum is lost,
@@ -194,9 +194,9 @@ activation:
* A follower will ACK the NEW_LEADER proposal after it has synced with the
leader.
* A follower will only ACK a NEW_LEADER proposal with a given zxid from a
single server.
-* A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers
have ACKed it.
+* A new leader will COMMIT the NEW_LEADER proposal when a quorum of followers
has ACKed it.
* A follower will commit any state it received from the leader when the
NEW_LEADER proposal is COMMIT.
-* A new leader will not accept new proposals until the NEW_LEADER proposal has
been COMMITED.
+* A new leader will not accept new proposals until the NEW_LEADER proposal has
been COMMITTED.
If leader election terminates erroneously, we don't have a problem since the
NEW_LEADER proposal will not be committed since the leader will not have
quorum.
@@ -232,7 +232,7 @@ the following operating constraints are observed:
* The leader will issue a COMMIT to all followers as soon as a
quorum of followers have ACKed a message. Since messages are ACKed in order,
COMMITs will be sent by the leader as received by the followers in order.
-* COMMITs are processed in order. Followers deliver a proposals
+* COMMITs are processed in order. Followers deliver a proposal
message when that proposal is committed.
<a name="sc_summary"></a>
@@ -247,7 +247,7 @@ to worry about two different values being proposed for the
same zxid; followers
committed in order; there is only one active leader at a time since followers
only
follow a single leader at a time; a new leader has seen all committed proposals
from the previous epoch since it has seen the highest zxid from a quorum of
servers;
-any uncommited proposals from a previous epoch seen by a new leader will be
committed
+any uncommitted proposals from a previous epoch seen by a new leader will be
committed
by that leader before it becomes active.
<a name="sc_comparisons"></a>
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperJMX.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperJMX.md
index 34355b2..368540f 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperJMX.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperJMX.md
@@ -44,7 +44,7 @@ review the linked document to enable support for remote
management
The class
_org.apache.zookeeper.server.quorum.QuorumPeerMain_
will start a JMX manageable ZooKeeper server. This class
-registers the proper MBeans during initalization to support JMX
+registers the proper MBeans during initialization to support JMX
monitoring and management of the
instance. See _bin/zkServer.sh_ for one
example of starting ZooKeeper using QuorumPeerMain.
@@ -65,7 +65,7 @@ start _jconsole_, which typically resides in
_JDK_HOME/bin/jconsole_
When the "new connection" window is displayed either connect
-to local process (if jconsole started on same host as Server) or
+to local process (if jconsole started on the same host as Server) or
use the remote process connection.
By default the "overview" tab for the VM is displayed (this
@@ -87,7 +87,7 @@ _-Dzookeeper.jmx.log4j.disable=true_ to the JVM
when starting ZooKeeper. In addition, we can specify the name of
the MBean with the _-Dzookeeper.jmx.log4j.mbean=log4j:hierarchy=default_
option, in case we need to upgrade an integrated system
-using the old MBean name (`log4j:hiearchy = default`).
+using the old MBean name (`log4j:hierarchy = default`).
<a name="ch_reference"></a>
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperObservers.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperObservers.md
index 7865723..a41e703 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperObservers.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperObservers.md
@@ -86,14 +86,14 @@ the ZooKeeper service.
## How to use Observer Masters
Observers function simple as non-voting members of the ensemble, sharing
-the Learner interface with Followers and holding only a slightly difference
+the Learner interface with Followers and holding only a slightly different
internal pipeline. Both maintain connections along the quorum port with the
Leader by which they learn of all new proposals on the ensemble.
By default, Observers connect to the Leader of the quorum along its
quorum port and this is how they learn of all new proposals on the
ensemble. There are benefits to allowing Observers to connect to the
-Followers instead as a means of plugging in to the commit stream in place
+Followers instead as a means of plugging into the commit stream in place
of connecting to the Leader. It shifts the burden of supporting Observers
off the Leader and allow it to focus on coordinating the commit of writes.
This means better performance when the Leader is under high load,
@@ -101,7 +101,7 @@ particularly high network load such as can happen after a
leader election
when many Learners need to sync. It reduces the total network connections
maintained on the Leader when there are a high number of observers.
Activating Followers to support Observers allow the overall number of
-Observers to scale into the hundreds. One the other end, Observer
+Observers to scale into the hundreds. On the other end, Observer
availability is improved since it will take shorter time for a high
number of Observers to finish syncing and start serving client traffic.
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperOver.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperOver.md
index 6a6b4d2..c18e249 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperOver.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperOver.md
@@ -53,7 +53,7 @@ responsibility of implementing coordination services from
scratch.
**ZooKeeper is simple.** ZooKeeper
allows distributed processes to coordinate with each other through a
shared hierarchical namespace which is organized similarly to a standard
-file system. The name space consists of data registers - called znodes,
+file system. The namespace consists of data registers - called znodes,
in ZooKeeper parlance - and these are similar to files and directories.
Unlike a typical file system, which is designed for storage, ZooKeeper
data is kept in-memory, which means ZooKeeper can achieve high
@@ -68,7 +68,7 @@ be implemented at the client.
**ZooKeeper is replicated.** Like the
distributed processes it coordinates, ZooKeeper itself is intended to be
-replicated over a sets of hosts called an ensemble.
+replicated over a set of hosts called an ensemble.

@@ -98,9 +98,9 @@ common than writes, at ratios of around 10:1.
### Data model and the hierarchical namespace
-The name space provided by ZooKeeper is much like that of a
+The namespace provided by ZooKeeper is much like that of a
standard file system. A name is a sequence of path elements separated by
-a slash (/). Every node in ZooKeeper's name space is identified by a
+a slash (/). Every node in ZooKeeper's namespace is identified by a
path.
#### ZooKeeper's Hierarchical Namespace
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperProgrammers.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperProgrammers.md
index bdf3932..88c8ad2 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperProgrammers.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperProgrammers.md
@@ -53,7 +53,7 @@ limitations under the License.
* [Read Operations](#sc_readOps)
* [Write Operations](#sc_writeOps)
* [Handling Watches](#sc_handlingWatches)
- * [Miscelleaneous ZooKeeper Operations](#sc_miscOps)
+ * [Miscellaneous ZooKeeper Operations](#sc_miscOps)
* [Program Structure, with Simple Example](#ch_programStructureWithExample)
* [Gotchas: Common Problems and Troubleshooting](#ch_gotchas)
@@ -65,7 +65,7 @@ This document is a guide for developers wishing to create
distributed applications that take advantage of ZooKeeper's coordination
services. It contains conceptual and practical information.
-The first four sections of this guide present higher level
+The first four sections of this guide present a higher level
discussions of various ZooKeeper concepts. These are necessary both for an
understanding of how ZooKeeper works as well how to work with it. It does
not contain source code, but it does assume a familiarity with the
@@ -93,7 +93,7 @@ Most of the information in this document is written to be
accessible as
stand-alone reference material. However, before starting your first
ZooKeeper application, you should probably at least read the chapters on
the [ZooKeeper Data Model](#ch_zkDataModel) and [ZooKeeper Basic
Operations](#ch_guideToZkOperations). Also,
-the [Simple Programmming
+the [Simple Programming
Example](#ch_programStructureWithExample) _[tbd]_ is helpful for understanding
the basic
structure of a ZooKeeper client application.
@@ -101,7 +101,7 @@ structure of a ZooKeeper client application.
## The ZooKeeper Data Model
-ZooKeeper has a hierarchal name space, much like a distributed file
+ZooKeeper has a hierarchal namespace, much like a distributed file
system. The only difference is that each node in the namespace can have
data associated with it as well as children. It is like having a file
system that allows a file to also be a directory. Paths to nodes are
@@ -145,12 +145,12 @@ information see... )_[tbd...]_
_node_ can refer to a generic host machine, a
server, a member of an ensemble, a client process, etc. In the ZooKeeper
documentation, _znodes_ refer to the data nodes.
-_Servers_ refer to machines that make up the
+_Servers_ refers to machines that make up the
ZooKeeper service; _quorum peers_ refer to the
servers that make up an ensemble; client refers to any host or process
which uses a ZooKeeper service.
-Znodes are the main enitity that a programmer access. They have
+Znodes are the main entity that a programmer access. They have
several characteristics that are worth mentioning here.
<a name="sc_zkDataMode_watches"></a>
@@ -183,7 +183,7 @@ be much less than that on average. Operating on relatively
large data
sizes will cause some operations to take much more time than others and
will affect the latencies of some operations because of the extra time
needed to move more data over the network and onto storage media. If
-large data storage is needed, the usually pattern of dealing with such
+large data storage is needed, the usual pattern of dealing with such
data is to store it on a bulk storage system, such as NFS or HDFS, and
store pointers to the storage locations in ZooKeeper.
@@ -202,8 +202,8 @@ Retrieves the list of ephemeral nodes created by the
session for the
given path. If the path is empty, it will list all the ephemeral nodes
for the session.
**Use Case** - A sample use case might be, if the list of ephemeral
-nodes for the session need to be collected for duplicate data entry check
-and the nodes are created in sequential manner so you do not know the name
+nodes for the session needs to be collected for duplicate data entry check
+and the nodes are created in a sequential manner so you do not know the name
for duplicate check. In that case, getEphemerals() api could be used to
get the list of nodes for the session. This might be a typical use case
for service discovery.
@@ -987,7 +987,7 @@ the _isValid(String id)_ method. It is up to the plugin to
verify
that the id has a correct form. For example, _ip:172.16.0.0/16_
is a valid id, but _ip:host.com_ is not. If the new ACL includes
an "auth" entry, _isAuthenticated_ is used to see if the
-authentication information for this scheme that is assocatied with the
connection
+authentication information for this scheme that is associated with the
connection
should be added to the ACL. Some schemes
should not be included in auth. For example, the IP address of the client is
not
considered as an id that should be added to the ACL if auth is specified.
@@ -1107,7 +1107,7 @@ ZooKeeper does _not_ in fact make. This is:
to read /a, client B may read the old value of 0, depending on
which server it is connected to. If it
is important that Client A and Client B read the same value,
- Client B should should call the **sync()** method from the ZooKeeper API
+ Client B should call the **sync()** method from the ZooKeeper API
method before it performs its read.
So, ZooKeeper by itself doesn't guarantee that changes occur
synchronously across all servers, but ZooKeeper
@@ -1135,7 +1135,7 @@ generated classes that are used simply as containers.
The main class used by a ZooKeeper Java client is the **ZooKeeper** class. Its
two constructors differ only
by an optional session id and password. ZooKeeper supports session
-recovery accross instances of a process. A Java program may save its
+recovery across instances of a process. A Java program may save its
session id and password to stable storage, restart, and recover the
session that was used by the earlier instance of the program.
@@ -1164,8 +1164,8 @@ design:
Note that if there is a change to **/a** between the asynchronous read and
the
synchronous read, the client library will receive the watch event
saying **/a** changed before the
- response for the synchronous read, but because the completion
- callback is blocking the event queue, the synchronous read will
+ response for the synchronous read, but because of the completion
+ callback blocking the event queue, the synchronous read will
return with the new value of **/a**
before the watch event is processed.
@@ -1315,7 +1315,7 @@ you have to remember to
1. Include ZooKeeper header: `#include <zookeeper/zookeeper.h>`
1. If you are building a multithreaded client, compile with
`-DTHREADED` compiler flag to enable the multi-threaded version of
- the library, and then link against against the
+ the library, and then link against the
_zookeeper_mt_ library. If you are building a
single-threaded client, do not compile with `-DTHREADED`, and be
sure to link against the_zookeeper_st_library.
@@ -1487,10 +1487,9 @@ ZooKeeper users fall into:
ZooKeeper must sync transactions to media before it returns a
response. A dedicated transaction log device is key to consistent good
performance. Putting the log on a busy device will adversely effect
- performance. If you only have one storage device,
- increase the snapCount so that snapshot files are generated less often;
- it does not eliminate the problem, but it makes more resources available
- for the transaction log.
+ performance. If you only have one storage device, put trace files on
+ NFS and increase the snapshotCount; it doesn't eliminate the problem,
+ but it can mitigate it.
1. Set your Java max heap size correctly. It is very important to
_avoid swapping._ Going to disk unnecessarily will
almost certainly degrade your performance unacceptably. Remember, in
@@ -1517,7 +1516,7 @@ information for ZooKeeper developers.
* *[API Reference](https://zookeeper.apache.org/doc/current/api/index.html)* :
The complete reference to the ZooKeeper API
-* *[ZooKeeper Talk at the Hadoup Summit
2008](http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/zookeeper.m4v)* :
+* *[ZooKeeper Talk at the Hadoop Summit
2008](http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/zookeeper.m4v)* :
A video introduction to ZooKeeper, by Benjamin Reed of Yahoo!
Research
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperQuotas.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperQuotas.md
index b573d4c..7f56a34 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperQuotas.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperQuotas.md
@@ -43,7 +43,7 @@ You can use _setquota_ to set a quota on a ZooKeeper node. It
has an option of s
`-n` (for namespace)
and `-b` (for bytes).
-The ZooKeeper quota are stored in ZooKeeper itself in /zookeeper/quota. To
disable other people from
+The ZooKeeper quota is stored in ZooKeeper itself in /zookeeper/quota. To
disable other people from
changing the quota's set the ACL for /zookeeper/quota such that only admins
are able to read and write to it.
<a name="Listing+Quotas"></a>
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperReconfig.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperReconfig.md
index d1bc603..77a8fe5 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperReconfig.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperReconfig.md
@@ -331,7 +331,7 @@ starting from **3.5.3** such that only a specific set of
users
can use reconfig commands or APIs, and these users need be configured
explicitly. In addition,
the setup of ZooKeeper cluster must enable authentication so ZooKeeper clients
can be authenticated.
-We also provides an escape hatch for users who operate and interact with a
ZooKeeper ensemble in a secured
+We also provide an escape hatch for users who operate and interact with a
ZooKeeper ensemble in a secured
environment (i.e. behind company firewall). For those users who want to use
reconfiguration feature but
don't want the overhead of configuring an explicit list of authorized user for
reconfig access checks,
they can set ["skipACL"](zookeeperAdmin.html#sc_authOptions) to "yes" which
will
@@ -468,7 +468,7 @@ participants in order to be considered legal. If the
proposed change
would leave the cluster with less than 2 participants and standalone
mode is enabled (standaloneEnabled=true, see the section [The
_standaloneEnabled_ flag](#sc_reconfig_standaloneEnabled)), the reconfig will
not be
processed (BadArgumentsException). If standalone mode is disabled
-(standaloneEnabled=false) then its legal to remain with 1 or more
+(standaloneEnabled=false) then it's legal to remain with 1 or more
participants.
**Adding servers:** Before a
@@ -534,7 +534,7 @@ independently from your main ensemble. It is OK to list
multiple
joiners as observers in an initial config.
If the configuration of existing servers changes or they become unavailable
-before the joiner succeeds to connect and learn obout configuration changes,
the
+before the joiner succeeds to connect and learn about configuration changes,
the
joiner may need to be restarted with an updated configuration file in order to
be
able to connect.
@@ -636,7 +636,7 @@ can just say "5=". In the example above, if server 5 is
already in the
system, but has different ports or is not an observer, it is updated
and once the configuration commits becomes an observer and starts
using these new ports. This is an easy way to turn participants into
-observers and vise versa or change any of their ports, without
+observers and vice versa or change any of their ports, without
rebooting the server.
ZooKeeper supports two types of Quorum Systems – the simple
@@ -806,7 +806,7 @@ achieve the same task by two reconfig commands: first
invoke a
reconfig to remove D from the configuration and then invoke a second
command to add it back as a participant (follower). During the
intermediate state D is a non-voting follower and can ACK the state
-transfer performed during the second reconfig comand.
+transfer performed during the second reconfig command.
<a name="ch_reconfig_rebalancing"></a>
@@ -860,7 +860,7 @@ explain the general idea):
hostList = config[1];
try {
// the following command is not blocking but may cause the
client to close the socket and
- // migrate to a different server. In practice its better
to wait a short period of time, chosen
+ // migrate to a different server. In practice it's better
to wait a short period of time, chosen
// randomly, so that different clients migrate at
different times
zk.updateServerList(hostList);
} catch (IOException e) {
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperStarted.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperStarted.md
index a777465..a34ffcd 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperStarted.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperStarted.md
@@ -264,7 +264,7 @@ functionally equivalent. The C bindings exist in two
variants: single
threaded and multi-threaded. These differ only in how the messaging loop
is done. For more information, see the [Programming
Examples in the ZooKeeper Programmer's
Guide](zookeeperProgrammers.html#ch_programStructureWithExample) for
-sample code using of the different APIs.
+sample code using the different APIs.
<a name="sc_RunningReplicatedZooKeeper"></a>
@@ -282,7 +282,7 @@ file.
and it is strongly recommended that you have an odd number of
servers. If you only have two servers, then you are in a
situation where if one of them fails, there are not enough
-machines to form a majority quorum. Two servers is inherently
+machines to form a majority quorum. Two servers are inherently
**less** stable than a single server, because there are two single
points of failure.
@@ -307,7 +307,7 @@ be from a leader.
With both of these timeouts, you specify the unit of time using
**tickTime**. In this example, the timeout
-for initLimit is 5 ticks at 2000 milleseconds a tick, or 10
+for initLimit is 5 ticks at 2000 milliseconds a tick, or 10
seconds.
The entries of the form _server.X_ list the
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperTutorial.md
b/zookeeper-docs/src/main/resources/markdown/zookeeperTutorial.md
index 21fbccc..4057a38 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperTutorial.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperTutorial.md
@@ -178,7 +178,7 @@ Once the computation is finished, a process calls leave()
to leave the barrier.
First it deletes its corresponding node, and then it gets the children of the
root
node. If there is at least one child, then it waits for a notification (obs:
note
that the second parameter of the call to getChildren() is true, meaning that
-ZooKeeper has to set a watch on the the root node). Upon reception of a
notification,
+ZooKeeper has to set a watch on the root node). Upon reception of a
notification,
it checks once more whether the root node has any children.
/**
@@ -282,7 +282,7 @@ if there is a conflict, then one of the two contending
processes won't be able t
delete the node and the delete operation will throw an exception.
A call to getChildren() returns the list of children in lexicographic order.
-As lexicographic order does not necessary follow the numerical order of the
counter
+As lexicographic order does not necessarily follow the numerical order of the
counter
values, we need to decide which element is the smallest. To decide which one
has
the smallest counter value, we traverse the list, and remove the prefix
"element"
from each one.