Return-Path: X-Original-To: apmail-zookeeper-commits-archive@www.apache.org Delivered-To: apmail-zookeeper-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A59B3927A for ; Tue, 12 Jun 2012 20:47:58 +0000 (UTC) Received: (qmail 53931 invoked by uid 500); 12 Jun 2012 20:47:58 -0000 Delivered-To: apmail-zookeeper-commits-archive@zookeeper.apache.org Received: (qmail 53908 invoked by uid 500); 12 Jun 2012 20:47:58 -0000 Mailing-List: contact commits-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ Delivered-To: mailing list commits@zookeeper.apache.org Received: (qmail 53899 invoked by uid 99); 12 Jun 2012 20:47:58 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jun 2012 20:47:58 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jun 2012 20:47:56 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 5963223889FA for ; Tue, 12 Jun 2012 20:47:36 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r821505 [2/2] - in /websites/staging/zookeeper/trunk/content: ./ bookkeeper/ bookkeeper/docs/r4.0.0/ bookkeeper/docs/r4.1.0/ bookkeeper/docs/trunk/ Date: Tue, 12 Jun 2012 20:47:33 -0000 To: commits@zookeeper.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120612204736.5963223889FA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigBuild.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigBuild.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigBuild.html Tue Jun 12 20:47:31 2012 @@ -68,7 +68,7 @@

From the top level bookkeeper directory, run mvn package. This will compile and package the jars necessary for running hedwig.

-

See the User's Guide for instructions on running and usage.

+

See the User's Guide for instructions on running and usage.

Eclipse Instructions

@@ -76,13 +76,13 @@
  1. Install the Subclipse plugin. Update site: http://subclipse.tigris.org/update_1.4.x.
  2. -
  3. Install the Maven plugin. Update site: http://m2eclipse.sonatype.org/update. From the list of packages available from this site, select everything under the "Maven Integration" category, and from the optional components select the ones with the word "SCM" in them.
  4. -
  5. Go to Preferences > Team > SVN. For the SVN interface, choose "Pure Java".
  6. +
  7. Install the Maven plugin. Update site: http://m2eclipse.sonatype.org/update. From the list of packages available from this site, select everything under the "Maven Integration" category, and from the optional components select the ones with the word "SCM" in them.
  8. +
  9. Go to Preferences > Team > SVN. For the SVN interface, choose "Pure Java".
  10. Choose File > New > Project... > Maven > Checkout Maven Projects from SCM.
  11. For the SCM URL type, choose SVN. For the URL, enter SVN URL. Maven will automatically create a top-level Eclipse project for each of the 4 Maven modules (recommended). If you want fewer top-level projects, uncheck the option of having a project for each module (under Advanced).
-

You are now ready to run and debug the client and server code. See the User's Guide for instructions on running and usage.

+

You are now ready to run and debug the client and server code. See the User's Guide for instructions on running and usage.

@@ -116,6 +116,7 @@

Documentation

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigConsole.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigConsole.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigConsole.html Tue Jun 12 20:47:31 2012 @@ -290,6 +290,7 @@ Finished 0.388 s.

Documentation

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigDesign.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigDesign.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigDesign.html Tue Jun 12 20:47:31 2012 @@ -63,11 +63,11 @@

Netty Notes

-

The asynchronous network IO infrastructure that Hedwig uses is Netty. Here are some notes on Netty's concurrency architecture and its filter pipeline design.

+

The asynchronous network IO infrastructure that Hedwig uses is Netty. Here are some notes on Netty's concurrency architecture and its filter pipeline design.

Concurrency Architecture

-

After calling ServerBootstrap.bind(), Netty starts a boss thread (NioServerSocketPipelineSink.Boss) that just accepts new connections and registers them with one of the workers from the NioWorker pool in round-robin fashion (pool size defaults to CPU count). Each worker runs its own select loop over just the set of keys that have been registered with it. Workers start lazily on demand and run only so long as there are interested fd's/keys. All selected events are handled in the same thread and sent up the pipeline attached to the channel (this association is established by the boss as soon as a new connection is accepted).

+

After calling ServerBootstrap.bind(), Netty starts a boss thread (NioServerSocketPipelineSink.Boss) that just accepts new connections and registers them with one of the workers from the NioWorker pool in round-robin fashion (pool size defaults to CPU count). Each worker runs its own select loop over just the set of keys that have been registered with it. Workers start lazily on demand and run only so long as there are interested fd's/keys. All selected events are handled in the same thread and sent up the pipeline attached to the channel (this association is established by the boss as soon as a new connection is accepted).

All workers, and the boss, run via the executor thread pool; hence, the executor must support at least two simultaneous threads.

@@ -90,9 +90,9 @@

ReadAhead Cache

-

The delivery manager class is responsible for pushing published messages from the hubs to the subscribers. The most common case is that all subscribers are connected and either caught up, or close to the tail end of the topic. In this case, we don't want the delivery manager to be polling bookkeeper for any newly arrived messages on the topic; new messages should just be pushed to the delivery manager. However, there is also the uncommon case when a subscriber is behind, and messages must be pulled from Bookkeeper.

+

The delivery manager class is responsible for pushing published messages from the hubs to the subscribers. The most common case is that all subscribers are connected and either caught up, or close to the tail end of the topic. In this case, we don't want the delivery manager to be polling bookkeeper for any newly arrived messages on the topic; new messages should just be pushed to the delivery manager. However, there is also the uncommon case when a subscriber is behind, and messages must be pulled from Bookkeeper.

-

Since all publishes go through the hub, it is possible to cache the recently published messages in the hub, and then the delivery manager won't have to make the trip to bookkeeper to get the messages but instead get them from local process memory.

+

Since all publishes go through the hub, it is possible to cache the recently published messages in the hub, and then the delivery manager won't have to make the trip to bookkeeper to get the messages but instead get them from local process memory.

These ideas of push, pull, and caching are unified in the following way: - A hub has a cache of messages

@@ -150,6 +150,7 @@

Documentation

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigJMX.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigJMX.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigJMX.html Tue Jun 12 20:47:31 2012 @@ -101,6 +101,7 @@

Documentation

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigUser.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigUser.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigUser.html Tue Jun 12 20:47:31 2012 @@ -55,7 +55,7 @@

Design

-

In Hedwig, clients publish messages associated with a topic, and they subscribe to a topic to receive all messages published with that topic. Clients are associated with (publish to and subscribe from) a Hedwig instance (also referred to as a region), which consists of a number of servers called hubs. The hubs partition up topic ownership among themselves, and all publishes and subscribes to a topic must be done to its owning hub. When a client doesn't know the owning hub, it tries a default hub, which may redirect the client.

+

In Hedwig, clients publish messages associated with a topic, and they subscribe to a topic to receive all messages published with that topic. Clients are associated with (publish to and subscribe from) a Hedwig instance (also referred to as a region), which consists of a number of servers called hubs. The hubs partition up topic ownership among themselves, and all publishes and subscribes to a topic must be done to its owning hub. When a client doesn't know the owning hub, it tries a default hub, which may redirect the client.

Running a Hedwig instance requires a Zookeeper server and at least three Bookkeeper servers.

@@ -65,7 +65,7 @@

Topics are independent; Hedwig provides no ordering across different topics.

-

Version vectors are associated with each topic and serve as the identifiers for each message. Vectors consist of one component per region. A component value is the region's local sequence number on the topic, and is incremented each time a hub persists a message (published either locally or remotely) to BK.

+

Version vectors are associated with each topic and serve as the identifiers for each message. Vectors consist of one component per region. A component value is the region's local sequence number on the topic, and is incremented each time a hub persists a message (published either locally or remotely) to BK.

TODO: More on how version vectors are to be used, and on maintaining vector-maxes.

@@ -79,7 +79,7 @@

Limits

-

Because the current implementation uses a single socket per subscription, the Hedwig requires a high ulimit on the number of open file descriptors. Non-root users can only use up to the limit specified in /etc/security/limits.conf; to raise this to 1024^2, as root, modify the "nofile" line in /etc/security/limits.conf on all hubs.

+

Because the current implementation uses a single socket per subscription, the Hedwig requires a high ulimit on the number of open file descriptors. Non-root users can only use up to the limit specified in /etc/security/limits.conf; to raise this to 1024^2, as root, modify the "nofile" line in /etc/security/limits.conf on all hubs.

Running Servers

@@ -136,6 +136,7 @@

Documentation

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/index.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/index.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/index.html Tue Jun 12 20:47:31 2012 @@ -58,7 +58,7 @@
  • Overview
  • Getting started
  • -
  • Programmer's Guide
  • +
  • Programmer's Guide
  • Bookie Server Configuration Parameters
  • BookKeeper Configuration Parameters
  • BookKeeper Internals
  • @@ -77,8 +77,8 @@

    Hedwig Admin & Ops

    @@ -120,6 +120,7 @@

    Documentation

    Modified: websites/staging/zookeeper/trunk/content/bookkeeper/lists.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bookkeeper/lists.html (original) +++ websites/staging/zookeeper/trunk/content/bookkeeper/lists.html Tue Jun 12 20:47:31 2012 @@ -73,7 +73,7 @@ In order to post to the list, it is nece

    Developers

    -

    If you'd like to contribute to BookKeeper or Hedwig, please subscribe to the BookKeeper developer mailing list.

    +

    If you'd like to contribute to BookKeeper or Hedwig, please subscribe to the BookKeeper developer mailing list.

    The BookKeeper developer mailing list is : bookkeeper-dev@zookeeper.apache.org.

    @@ -88,7 +88,7 @@ In order to post to the list, it is nece

    Commits

    -

    If you'd like to see changes made in BookKeeper's version control system then subscribe to the BookKeeper commit mailing list.

    +

    If you'd like to see changes made in BookKeeper's version control system then subscribe to the BookKeeper commit mailing list.

    • Subscribe to List
    • Modified: websites/staging/zookeeper/trunk/content/bylaws.html ============================================================================== --- websites/staging/zookeeper/trunk/content/bylaws.html (original) +++ websites/staging/zookeeper/trunk/content/bylaws.html Tue Jun 12 20:47:31 2012 @@ -83,7 +83,7 @@ perform within the project. The roles ar

      The most important participants in the project are people who use our
      software. The majority of our contributors start out as users and guide
      -their development efforts from the user's perspective.

      +their development efforts from the user's perspective.

      Users contribute to the Apache projects by providing feedback to
      contributors in the form of bug reports and feature suggestions. As
      @@ -100,8 +100,8 @@ factors.

      Committers

      -

      The project's committers are responsible for the project's technical
      -management. Committers have access to a specified set of subproject's
      +

      The project's committers are responsible for the project's technical
      +management. Committers have access to a specified set of subproject's
      subversion repositories. Committers on subprojects may cast binding
      votes on any technical discussion regarding that subproject.

      @@ -135,7 +135,7 @@ oversight of the Apache ZooKeeper codeba
      • Deciding what is distributed as products of the Apache ZooKeeper
        project. In particular all releases must be approved by the PMC.
      • -
      • Maintaining the project's shared resources, including the codebase
        +
      • Maintaining the project's shared resources, including the codebase
        repository, mailing lists, websites.
      • Speaking on behalf of the project.
      • Resolving license disputes regarding products of the project.
      • @@ -167,7 +167,7 @@ Apache board.

        Within the ZooKeeper project, different types of decisions require
        different forms of approval. For example, the previous section describes
        -several decisions which require 'lazy consensus' approval. This section
        +several decisions which require 'lazy consensus' approval. This section
        defines how voting is performed, the types of approvals, and which types
        of decision require which type of approval.

        @@ -181,9 +181,9 @@ line starting with [VOTE]. Votes may con and these should be clearly separated. Voting is carried out by replying
        to the vote mail. Voting may take four flavors.

        -
        VoteMeaning
        +1'Yes,' 'Agree,' or 'the action should be performed.' In general,
        +
        VoteMeaning
        +1'Yes,' 'Agree,' or 'the action should be performed.' In general,
        this vote also indicates a willingness on the behalf of the voter in
        -'making it happen'.
        +0This vote indicates a willingness for the action under
        +'making it happen'.
        +0This vote indicates a willingness for the action under
        consideration to go ahead. The voter, however will not be able to help.
        -0This vote indicates that the voter does not, in general, agree
        with the proposed action but is not concerned enough to prevent the
        action going ahead.
        -1This is a negative vote. On issues where consensus is required,
        @@ -251,7 +251,7 @@ content, etc.
        Lazy approval (not contributor), moving to lazy majority if a -1 is receivedActive
        committers
        1
        Release PlanDefines the timetable and actions for a release. The
        plan also nominates a Release Manager.
        Lazy majorityActive
        -committers
        3
        Product ReleaseWhen a release of one of the project's products is
        +committers
        3
        Product ReleaseWhen a release of one of the project's products is
        ready, a vote is required to accept the release as an official release
        of the project.
        Lazy MajorityActive PMC members3
        Adoption of New CodebaseWhen the codebase for an existing, released
        product is to be replaced with an alternative codebase. If such a vote
        Modified: websites/staging/zookeeper/trunk/content/credits.html ============================================================================== --- websites/staging/zookeeper/trunk/content/credits.html (original) +++ websites/staging/zookeeper/trunk/content/credits.html Tue Jun 12 20:47:31 2012 @@ -63,13 +63,13 @@

        PMC Members

        -

        ZooKeeper's active PMC members are

        +

        ZooKeeper's active PMC members are

        usernamenameorganizationtimezone
        tdunningTed DunningMapR Technologies-8
        camilleCamille FournierRentTheRunway-5
        phuntPatrick HuntCloudera Inc.-8
        fpjFlavio JunqueiraYahoo Inc.+2
        mahadevMahadev KonarHortonworks Inc.-8
        breedBenjamin ReedYahoo Inc.-8
        henryHenry RobinsonCloudera Inc.-8

        Committers

        -

        ZooKeeper's active committers are

        +

        ZooKeeper's active committers are

        usernamenameorganizationtimezone
        camilleCamille FournierRentTheRunway-5
        phuntPatrick HuntCloudera Inc.-8
        fpjFlavio JunqueiraYahoo Inc.+2
        mahadevMahadev KonarHortonworks Inc.-8
        akornevAndrew Kornev
        michimMichi MutsuzakiYahoo Inc.-8
        breedBenjamin ReedYahoo Inc.-8
        henryHenry RobinsonCloudera Inc.-8
        Modified: websites/staging/zookeeper/trunk/content/lists.html ============================================================================== --- websites/staging/zookeeper/trunk/content/lists.html (original) +++ websites/staging/zookeeper/trunk/content/lists.html Tue Jun 12 20:47:31 2012 @@ -74,7 +74,7 @@ In order to post to the list, it is nece

        Developers

        -

        If you'd like to contribute to ZooKeeper, please subscribe to the ZooKeeper developer mailing list.

        +

        If you'd like to contribute to ZooKeeper, please subscribe to the ZooKeeper developer mailing list.

        The ZooKeeper developer mailing list is : dev@zookeeper.apache.org.

        @@ -90,7 +90,7 @@ In order to post to the list, it is nece

        Commits

        -

        If you'd like to see changes made in ZooKeeper's version control system then subscribe to the ZooKeeper commit mailing list.

        +

        If you'd like to see changes made in ZooKeeper's version control system then subscribe to the ZooKeeper commit mailing list.