Permalink
Commits on Oct 19, 2011
  1. Revert "disallow rebalance for 5 minutes" changes.

    Revert "disallow rebalance 5 minutes after rebalance fails"
    This reverts commit 93e35a2.
    Revert "extended ServersSection#postAndReload for better error handling"
    This reverts commit 05319f7.
    Revert "pass xhr object to error callback of postWithValidationErrors"
    This reverts commit 1f1f685.
    
    Change-Id: I3b27f2ebb2db2eb5d49e4db01f250d4fdca3d673
    Reviewed-on: http://review.couchbase.org/10209
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Farshid Ghods <farshid.ghods@gmail.com>
    Tested-by: Farshid Ghods <farshid.ghods@gmail.com>
    aartamonau committed with farshidce Oct 19, 2011
Commits on Oct 14, 2011
  1. disallow rebalance 5 minutes after rebalance fails

    ep-engine named tap connections from failed rebalance need 5 minutes
    to die.
    
    We keep extra ns_config field with timestamp of latest rebalance
    failure and don't allow starting rebalance if that's between 0 and 5
    minutes after that time.
    
    Compatibility note: we have to check that outside of orchestrator
    process because in 1.7.x it's possible that older node will either
    request or orchestrator process may run on older node.
    
    REST API note: we're using status code 503 (Service Unavailable) with
    standard Retry-After header when we refuse rebalance due to "cool
    down" reason.
    
    Change-Id: Iae89bbfc3fd03310d4b1cf78071245739188a20c
    Reviewed-on: http://review.couchbase.org/10143
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Farshid Ghods <farshid.ghods@gmail.com>
    Tested-by: Farshid Ghods <farshid.ghods@gmail.com>
    Aliaksey Kandratsenka committed with farshidce Oct 14, 2011
  2. extended ServersSection#postAndReload for better error handling

    Particularly errorMessage argument can be a function that will be
    handled when post fails.
    
    Change-Id: I7451724e5663502b3d9d39863a3d5e2b89de2dca
    Reviewed-on: http://review.couchbase.org/10142
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Farshid Ghods <farshid.ghods@gmail.com>
    Tested-by: Farshid Ghods <farshid.ghods@gmail.com>
    Aliaksey Kandratsenka committed with farshidce Oct 14, 2011
  3. pass xhr object to error callback of postWithValidationErrors

    So that error handler can get extra headers and get detailed status
    code if needed
    
    Change-Id: Icae1d58b06963ccf7c19bec4a0dbef90455d8ccb
    Reviewed-on: http://review.couchbase.org/10141
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Farshid Ghods <farshid.ghods@gmail.com>
    Tested-by: Farshid Ghods <farshid.ghods@gmail.com>
    Aliaksey Kandratsenka committed with farshidce Oct 14, 2011
Commits on Oct 11, 2011
  1. Fix higher_priority_node function in normal mode.

    Previously it could prefer a node with lower version just because it
    has lesser node name.
    
    Change-Id: I2f2370d3bfebc83ebb7a69e8a97974b4a96365de
    Reviewed-on: http://review.couchbase.org/10072
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Oct 11, 2011
Commits on Sep 27, 2011
  1. MB-4302 Avoid using _use_global_value in rest port configuration.

    An atom _use_global_value supposed to instruct per-node key searches
    to take global value instead. But since the changes to
    config-related functions are required this causes issues on older
    nodes trying to use such values. In particular it breaks rolling
    upgrade. Instead of using special value we now have additional rest
    property 'port_meta' which can be either 'local' or 'global'. When
    it's 'local' then a per node value must be used, when it's 'global'
    then a global value must be used. The older nodes just ignore this
    property and always see the per node value.
    
    Change-Id: I7e986e7fb92e929fe44ac3803047712510b1d16f
    Reviewed-on: http://review.couchbase.org/9815
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Sep 27, 2011
Commits on Sep 20, 2011
  1. Merge remote-tracking branch 'membase/branch-171' into branch-172.

    * membase/branch-171:
      Add initial vclock to per node keys that changed since 1.6.5.
    
    Change-Id: I6d1a043b18f7e3fc251262250699ae113f0bc2a9
    aartamonau committed Sep 20, 2011
Commits on Sep 14, 2011
  1. natural sorting of Server Nodes on Analytics screen. MB-3791

    Change-Id: I6ccbc19541812a2eb2b564147bab8d79d3fc16e9
    Reviewed-on: http://review.couchbase.org/9418
    Tested-by: Farshid Ghods <farshid.ghods@gmail.com>
    Reviewed-by: Farshid Ghods <farshid.ghods@gmail.com>
    BigBlueHat committed with farshidce Sep 6, 2011
Commits on Sep 12, 2011
  1. correctly handle invalid auth_type for default bucket. MB-4260

    Via our CLI it was possible to try to create default bucket as bucket
    with per-port moxi. In this case late logic to override bucket type to
    sasl and password to empty was a bit faulty. Particularly,
    sasl_password field was missing causing bucket to require admin
    password.
    
    Change-Id: If3040dddbbf6f7557c1b6d66cdd322b226c7de85
    Reviewed-on: http://review.couchbase.org/9519
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Aliaksey Kandratsenka committed with aartamonau Sep 12, 2011
Commits on Sep 6, 2011
  1. Disable the C++ standard memory allocator in Unix-like systems.

    Based on the memory profiling results, we observed that using
    tcmalloc as the memory allocator for C++ STL and string classes
    shows much better behaviors than using the default C++ memory
    pooling allcator. This option is also recommended from the
    tcmalloc official documents. This makes sense to us because
    tcmalloc actually provides the efficient memory pooling per
    thread.
    
    In addition, we saw that the tcmalloc profiler is confused by
    the default C++ memory pooling allocator.
    
    Change-Id: I5d6c64c0de275a4e0f122c8a5dab4d95cf33ce6b
    Reviewed-on: http://review.couchbase.org/9427
    Tested-by: Chiyoung Seo <chiyoung.seo@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    chiyoung committed with steveyen Sep 6, 2011
Commits on Aug 29, 2011
  1. Support two modes of execution in mb_master.

    There is known problem regarding rebalance upgrade. VBucket mover spawns
    single mover processes on remote nodes using spawn_link function. For this to
    work ns_vbucket_mover modules must be absolutely the same on both nodes. This
    means that ns_vbucket_mover can't be changed at all in order to preserve
    compatibility. This commit is part of the work to resolve the issue. VBucket
    mover is always launched on a master node. The idea is to ensure that master
    node is always of the latest available version. In this case vbucket mover can
    be changed in such a way that does not require spawning on remote nodes . But
    to achieve desired master selection behavior it's insufficient to change only
    new versions of mb_master. That's why this intermediate version
    exists. Upgrades to this version from older ones work fine since vbucket mover
    is unchanged. At the same time mb_master is made to support two modes of
    execution: one that is used by older versions and one that will be used by
    newer versions. The latter mode is enabled when the cluster contains only the
    nodes that support it. And whenever some node of older version is added to a
    cluster, behavior is reverted to the old one. Once cluster contains only new
    nodes and operates in new mode, other 2.0 nodes can be connected to it. One of
    those 2.0 nodes will take over the mastership and it will be possible to
    perform rebalance upgrade even if ns_vbucket_mover will have changed.
    
    Change-Id: I3a1b3c2c8413cb04f6641b69d39203280dc74e80
    Reviewed-on: http://review.couchbase.org/9159
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Aug 1, 2011
  2. Helpers to get a version of certain app and to parse it.

    Change-Id: I7511e9a2a3cf6908643a96c1dfc92a2da026dfa0
    Reviewed-on: http://review.couchbase.org/9158
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Aug 1, 2011
  3. MB-4160 Fix changing admin port.

    Change-Id: I848d996537819581464f1e3b0ad68dbc19f3c172
    Reviewed-on: http://review.couchbase.org/9156
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Aug 12, 2011
  4. Allow per node config requests return global values.

    In case '_use_global_value' atom corresponds to some key or subkey in
    a config then global value will be returned by search_node and
    search_node_prop functions.
    
    Change-Id: Ic815c7658d113e9ebef746e56ad3d1db24e32a47
    Reviewed-on: http://review.couchbase.org/9155
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Aug 12, 2011
Commits on Aug 24, 2011
  1. Add initial vclock to per node keys that changed since 1.6.5.

    This change fixes MB-4219.
    
    When config merging routines encounter two values not having vclocks
    attached to them then the value that came from remote node is
    chosen. This can cause certain races. Particularly this is the cause
    of upgrade issues seen on windows: when node is started for the first
    time it upgrades old config but then it pulls the config from other
    nodes and prefers foreign value (outdated one) to its own. This change
    introduces initial vclocks for such vulnerable keys so that new values
    will be preferred.
    
    Change-Id: Ibe85213eb8df2392f6b4b34413062c0aed19c0a1
    Reviewed-on: http://review.couchbase.org/9206
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Aug 24, 2011
Commits on Aug 19, 2011
  1. MB-3945 Fix replicas promotion after failover.

    Since lists:splitwith was used instead of lists:partition it was
    possible to get vbucket map containing undefined in place of first
    replica even if other replicas were available after failover.
    
    Change-Id: I48289239bca035bad7ac84bf40cdf29ed31066d4
    Reviewed-on: http://review.couchbase.org/9120
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    aartamonau committed with alk Aug 19, 2011
Commits on Aug 15, 2011
  1. MB-4180 Fix grabbing diag.

    Before Erlang R14B02 it was possible to call restart_child on
    processes with temporary restart type though it was not something
    anyone supposed to do. R14B02 stopped saving initial arguments for
    temporary processes to save some memory. Though child specifications
    of such processes were still saved. Thus an attempt to restart_child
    temporary process would cause an error. This must be fixed in R14B03
    where child specifications of temporary processes are cleaned up
    properly and no one should see {error, already_present}.
    Some details:
      http://erlang.org/pipermail/erlang-bugs/2011-March/002273.html
    
    Change-Id: I62b6d2979e989bbd685e1029a75471e31bc5af82
    Reviewed-on: http://review.couchbase.org/8945
    Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
    aartamonau committed with steveyen Aug 15, 2011
  2. save config after config cas. MB-4186

    We need to initiate config saving after each config update. config cas was
    missing that, sadly.
    
    Change-Id: I60de70ee2674b2e73c82096604673998b263afb3
    Reviewed-on: http://review.couchbase.org/8946
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Aliaksey Kandratsenka committed with steveyen Aug 15, 2011
Commits on Aug 9, 2011
  1. MB-3961 Work around inet:getiflist() bug under multi-home

    inet:getiflist() doesn't work well if multi-ipaddress are configured.
    Both uuid.erl and addr_utils.erl depend on this function. As such,
    either we use inet:getifadrs() and reimplement uuid to remove this
    dependency.
    
    Change-Id: Ie5d4f44e9201f1bf78f4bcae6aa7472b50086d93
    Reviewed-on: http://review.couchbase.org/8653
    Tested-by: Bin Cui <bin.cui@gmail.com>
    Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
    Tested-by: Filipe David Borba Manana <fdmanana@gmail.com>
    bcui6611 committed Aug 5, 2011
Commits on Jul 23, 2011
  1. added documentation on cluster joining sequence

    Change-Id: I43fc4b12860c19e04023fd5384699bead0b42c01
    Reviewed-on: http://review.couchbase.org/8289
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Aliaksey Kandratsenka committed with steveyen Jul 23, 2011
  2. prevent 1.7.1 node joining 1.6.x cluster and vice versa

    Change-Id: Iaa411340d31f82de7690772c1beeb1c0e4b66570
    Reviewed-on: http://review.couchbase.org/8290
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Aliaksey Kandratsenka committed with steveyen Jul 23, 2011
Commits on Jul 19, 2011
  1. raise ebucketmigrator's upstream timeout to 10 minutes

    Because it makes sense to keep trying instead of failing rebalance.
    
    Change-Id: I60f61f19230732f41960552ff6ceadb905f4207a
    Reviewed-on: http://review.couchbase.org/8084
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Aliaksey Kandratsenka committed with steveyen Jul 17, 2011
  2. don't use best_effort option of janitor

    Because it can try replicating to/from not ready node. It's much safer
    to expect all nodes to be healthy.
    
    Change-Id: Ieb7ba1c3451e1dcd3589ab5af6c33840b66dcbd4
    Reviewed-on: http://review.couchbase.org/8157
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Aliaksey Kandratsenka committed with steveyen Jul 19, 2011
Commits on Jul 16, 2011
  1. Display a warning when node was auto-failovered. MB-4074

    When a node was auto-failovered, display a warning at the server
    screen including a "reset quota" button.
    The quota can also be reset on the settings screen. It will only
    be displayed if there is something to reset.
    
    When an error occurs a popup is shown.
    
    This commit fixes MB-4074.
    
    Change-Id: Id1e4d0d559d6563577ab9fb079bed6b8919d6b0d
    [alk@tut.by: hide auto-failover warning by default]
    Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
    Reviewed-on: http://review.couchbase.org/8010
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    vmx committed with alk Jul 15, 2011
  2. Revert "Revert "batch replication changes during rebalance""

    This reverts commit d6663ae.
    
    Change-Id: Idd2f1d1610a25b5a94d6ec11742eb4c3890da235
    Reviewed-on: http://review.couchbase.org/8048
    Tested-by: Farshid Ghods <farshid.ghods@gmail.com>
    Reviewed-by: Farshid Ghods <farshid.ghods@gmail.com>
    steveyen committed with farshidce Jul 16, 2011
Commits on Jul 15, 2011
  1. ignore memcached buckets in janitor:cleanup

    Right after bucket creation we request janitor run. Regardless of
    bucket type. This leads to janitor crash on memcached buckets.
    
    Because janitor was never intended to handle memcached bucket types it
    makes sense to cover memcached bucket types in janitor.
    
    Change-Id: Ifc3b36f9b2efbbf1e4ea47050f33e28fe393af9e
    Reviewed-on: http://review.couchbase.org/7987
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
    Aliaksey Kandratsenka committed with alk Jul 14, 2011
Commits on Jul 12, 2011
  1. Revert "batch replication changes during rebalance"

    This reverts commit 9d821b1.
    
    When a user uses "Stop Rebalance", some replication streams
    were not correctly resumed after the stopping.
    
    Change-Id: I71ad67a5d6522cb92a57323675049d92ac026794
    Reviewed-on: http://review.couchbase.org/7925
    Tested-by: Srinivas Vadlamani <srinivas@couchbase.com>
    Reviewed-by: Srinivas Vadlamani <srinivas@couchbase.com>
    steveyen committed with Srinivas Vadlamani Jul 12, 2011
  2. membase/memcached bucket min RAM quota are cmd-line configurable.

    For many-bucket testing, the ability to change the minimum RAM quota
    for buckets is useful.  For example, to get a 5 MB minimum
    membase-type bucket RAM quota, append this when running the erl...
    
      erl ... -ns_server membase_min_ram_quota 5
    
    The new keys are membase_min_ram_quota and memcached_min_ram_quota.
    
    Change-Id: Ic43b0bc8b1608bb13cde8cdbfcc5152b3bc511b3
    Reviewed-on: http://review.couchbase.org/7899
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Dale Harvey <daleharvey@arandomurl.com>
    Reviewed-by: Dale Harvey <daleharvey@arandomurl.com>
    steveyen committed with Dale Harvey Jul 12, 2011
  3. Command-line configurable grab_stats_every_n_ticks

    During cloud multitenancy testing of many buckets, stats gathering was
    a CPU consumption culprit.  Allow stats capture to be less often by
    command-line configuration.
    
    Change-Id: I93632ce1b6d6f96d26a78d2cf5a19a82a2c2bc60
    Reviewed-on: http://review.couchbase.org/7897
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Dale Harvey <daleharvey@arandomurl.com>
    Reviewed-by: Dale Harvey <daleharvey@arandomurl.com>
    steveyen committed with Dale Harvey Jul 12, 2011
  4. Allow ns_tick interval to be cmd-line overridable.

    This allows for easier testing of different cloud configurations.
    
    Change-Id: I05b5c60243a501e46c747f6d6b447c305a4852dd
    Reviewed-on: http://review.couchbase.org/7895
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Dale Harvey <daleharvey@arandomurl.com>
    Reviewed-by: Dale Harvey <daleharvey@arandomurl.com>
    steveyen committed with Dale Harvey Jul 12, 2011
  5. Removed unused defines

    Change-Id: I226b753869d25b2e2060222c4cd287aab758ed87
    Reviewed-on: http://review.couchbase.org/7894
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Dale Harvey <daleharvey@arandomurl.com>
    Reviewed-by: Dale Harvey <daleharvey@arandomurl.com>
    steveyen committed with Dale Harvey Jul 12, 2011
Commits on Jul 11, 2011
  1. Make auto-failover common_tests work with current version.

    The config key changed from auto_failover to auto_failover_cfg.
    
    Change-Id: Ie7a9ab9e765280f5a148532654f5c46c6c060f95
    Reviewed-on: http://review.couchbase.org/7772
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    vmx committed with alk Jul 7, 2011
  2. Always send mails when node can't be auto-failovered.

    If a node goes down and the maximum number of nodes
    that may be auto-failovered is already reached, a
    notification email will be send.
    
    Change-Id: I8e3cb4fc17e53fbe0292a3220bafa7ae1a4a5b1c
    Reviewed-on: http://review.couchbase.org/7770
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    vmx committed with alk Jul 7, 2011
Commits on Jul 8, 2011
  1. log vbucket mover's pids for better rebalance logging

    Currently we have quite verbose replication logging. But rebalance
    ebucketmigrators are a bit less verbose. During recent bug
    investigation lack of this information was impediment.
    
    Change-Id: I1d7d3ccbf31b76568c01c0de8e4e2e890055588d
    Reviewed-on: http://review.couchbase.org/7816
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
    Aliaksey Kandratsenka committed with bcui6611 Jul 8, 2011
  2. fixed support forum link. MB-3951

    Change-Id: I953203f1a4ab7b632542308a78aa29e70c6c1335
    Reviewed-on: http://review.couchbase.org/7818
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Sharon Barr <sharonyb@gmail.com>
    Aliaksey Kandratsenka committed with sharonyb Jul 8, 2011