Permalink
Commits on Feb 20, 2018
  1. Move ACE libraries to main app, since they are now used by Query

    ebenhaber committed Feb 16, 2018
    Workbench, Analytics, and Eventing.
    
    Change-Id: I913a14e82e755007e850ca8dee04069fe5a81e4d
    Reviewed-on: http://review.couchbase.org/89589
    Well-Formed: Build Bot <build@couchbase.com>
    Tested-by: Eben Haber <eben@couchbase.com>
    Reviewed-by: Pavel Blagodov <stochmail@gmail.com>
  2. [leader_activities] Add missing 'follower' quorum to the type.

    aartamonau authored and vzasade committed Feb 18, 2018
    It's supported by the code, but is not mentioned in the quorum()
    type.
    
    Change-Id: I3f2c9ca649d8b8d1c79529d4c6547aa58c48fbca
    Reviewed-on: http://review.couchbase.org/89726
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
  3. Use finite timeout for a remote whereis_name call.

    aartamonau authored and vzasade committed Feb 12, 2018
    Change-Id: I3e5030fc7f32c051f74dd8b674a1edfc586d2fad
    Reviewed-on: http://review.couchbase.org/89251
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  4. Handle not_a_leader error when forwarding whereis_name request.

    aartamonau authored and vzasade committed Feb 12, 2018
    The end behavior is unchanged: 'undefined' is returned to the
    caller. The difference is in the verbosity of logging. Without special
    handling, for each failed attempt a crash report will be logged. Since
    it's not entirely unusual for a short period of time to have a node
    be mistaken about the leader, I decided to handle this specially.
    
    Change-Id: I717f68fb43a3cdaf076c1e85cda92dee86b541e8
    Reviewed-on: http://review.couchbase.org/89250
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
  5. Lower the config sync timeout for failover.

    aartamonau authored and Aliaksey Artamonau committed Jan 31, 2018
    To prevent delaying the failover for too long.
    
    Change-Id: If26ab342df17d11b0dd3a327e30472b5f8b1ea12
    Reviewed-on: http://review.couchbase.org/88666
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  6. Allow user to force unsafe failover.

    aartamonau authored and Aliaksey Artamonau committed Jan 31, 2018
    Otherwise in certain situations it becomes impossible to do anything
    with the cluster.
    
    Change-Id: I1ec13bb4af3585cb8d8a93542b6c8b52100427be
    Reviewed-on: http://review.couchbase.org/88663
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  7. Report back to client if failover can't be safely performed.

    aartamonau authored and Aliaksey Artamonau committed Jan 31, 2018
    Change-Id: I016064bcbd9a08902addcd61a900be64008b6b61
    Reviewed-on: http://review.couchbase.org/88662
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
  8. Keep count and report incomplete failovers.

    aartamonau authored and Aliaksey Artamonau committed Jan 31, 2018
    Change-Id: Ifc23f57ed0074f7ddbd112b11435d90f4a0fa00f
    Reviewed-on: http://review.couchbase.org/88661
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Ajit Yagaty <ajit.yagaty@couchbase.com>
  9. MB-9321 Register recovery_server as leader activity.

    aartamonau authored and vzasade committed Jan 31, 2018
    Change-Id: I17108fdf618abe7ba231bfdaadcfb9872a9afffd
    Reviewed-on: http://review.couchbase.org/88660
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
  10. [recovery_server] Split up start recovery handler.

    aartamonau authored and vzasade committed Jan 31, 2018
    For better readability.
    
    Change-Id: I0e3cc331402d5de3175d023cbbd612cf2dc4798f
    Reviewed-on: http://review.couchbase.org/88659
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
  11. Move bucket recovery logic into a separate process/module.

    aartamonau authored and vzasade committed Jan 31, 2018
    Change-Id: If29149436180a6fb80c14a53502aa196273b8b80
    Reviewed-on: http://review.couchbase.org/88658
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
  12. MB-27910: Enable tracing by default only in EE.

    ajityagaty authored and Aliaksey Artamonau committed Feb 17, 2018
    The tracing feature will be disabled in community edition by default.
    Will refrain from trying to enforce this in the
    /pools/default/settings/memcached APIs as they are not documented and
    is_enterprise() returns 'true' on an EE node in mixed cluster (CE & EE).
    
    Change-Id: Ibb6da3a681bc1bafe0e157f1bcdd84dee928fae0
    Reviewed-on: http://review.couchbase.org/89623
    Tested-by: Ajit Yagaty <ajit.yagaty@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  13. MB-26465: incorporate DP license changes into click-thru license

    mblow authored and dave-finlay committed Feb 17, 2018
    Change-Id: I436826e7905304c84b36077e587381a8cd816f55
    Reviewed-on: http://review.couchbase.org/89631
    Tested-by: Michael Blow <michael.blow@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Till Westmann <till@couchbase.com>
    Reviewed-by: Dave Finlay <dave.finlay@couchbase.com>
  14. MB-28235 Unbreak cbcollect_info.

    aartamonau authored and dave-finlay committed Feb 20, 2018
    This change somehow mysteriously got lost :)
    
    Change-Id: I87f1e3534d44e0fa59084cee5ce05458e09941df
    Reviewed-on: http://review.couchbase.org/89710
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Dave Finlay <dave.finlay@couchbase.com>
Commits on Feb 19, 2018
  1. MB-23460: Send vbuckets info to fts as command line args

    abhinavdangeti committed Jan 25, 2018
    This is already done for indexer and eventing processes.
    FTS can use this information too.
    
    Change-Id: I6a60a6c9abd96a718428b07b7f6093a047ea9a1d
    Reviewed-on: http://review.couchbase.org/88332
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Abhinav Dangeti <abhinav@couchbase.com>
    Tested-by: Abhinav Dangeti <abhinav@couchbase.com>
  2. MB-28129: read isEnterprise from mnPools

    pavel-blagodov committed Feb 16, 2018
    Change-Id: I75cdee2786532c286dca3b6a44daeec4f30bf698
    Reviewed-on: http://review.couchbase.org/89560
    Well-Formed: Build Bot <build@couchbase.com>
    Tested-by: Pavel Blagodov <stochmail@gmail.com>
    Reviewed-by: Mike Wiederhold <mike@couchbase.com>
  3. ext auth status style revision

    robashcom committed Feb 14, 2018
    - restructered the markup to the usual patterns
    - made visual style minimal
    
    Change-Id: I202031b3d478f410f709b8a13969183ce8e70e6a
    Reviewed-on: http://review.couchbase.org/89430
    Tested-by: Rob Ashcom <rob.ashcom@gmail.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Pavel Blagodov <stochmail@gmail.com>
  4. session timeout style revision

    robashcom committed Feb 14, 2018
    - changed some style/layout
    - re-wrote the text
    
    Change-Id: I05e8d7c49fdfb4224757c8dfa282724c701702f2
    Reviewed-on: http://review.couchbase.org/89429
    Tested-by: Rob Ashcom <rob.ashcom@gmail.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Pavel Blagodov <stochmail@gmail.com>
  5. bucket TTL warning message

    robashcom authored and pavel-blagodov committed Feb 13, 2018
    - added warning message when enabled and greater than 0
    - added proper pluralization to “second”
    - fixed some verrical spacing in form
    
    Change-Id: I42dd93b03bf8c618d62c5a20c8f60368e2b51857
    Reviewed-on: http://review.couchbase.org/89344
    Tested-by: Rob Ashcom <rob.ashcom@gmail.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Pavel Blagodov <stochmail@gmail.com>
  6. MB-27921 display analytics path(s) in server details

    robashcom authored and mikewied committed Feb 14, 2018
    - added ng-repeat to display array of analytics storage paths
    
    Change-Id: I374ac016ee9cefa951385c8d1f5adde823d690c1
    Reviewed-on: http://review.couchbase.org/89450
    Tested-by: Rob Ashcom <rob.ashcom@gmail.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Pavel Blagodov <stochmail@gmail.com>
  7. [leader_activities] Inherit unsafe flag.

    aartamonau authored and Aliaksey Artamonau committed Feb 16, 2018
    To make sure that the unsafe failover takes minimum amount of
    time. And more generally, to prevent the user from having to thread
    through unsafe flag, since they'd probably want child activities to
    run unsafely too.
    
    Change-Id: I1ff12dc222332447153e78c0ea463d0e37f97e05
    Reviewed-on: http://review.couchbase.org/89581
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
  8. [leader_activities] Allow inheriting options of parent activity.

    aartamonau authored and Aliaksey Artamonau committed Feb 16, 2018
    Only works if an option in interest is not explicitly set by the child
    activity. In addition, it's only supported for the activities started
    by run_activity/start_activity functions. The reason register_process
    is not supported is because we can't easily detect parent/child
    relationship there. But essentially register_process should only be
    used for the "root" activity anyway.
    
    Change-Id: Ib1cebd2ecbb2f220b152494e80740653e6d9ca6b
    Reviewed-on: http://review.couchbase.org/89580
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
  9. MB-27927: added logic to handle queryCurlWhitelist settings

    pavel-blagodov committed Feb 14, 2018
    Change-Id: Ieead72532c0ca2fc222f81a25eff19ac9ada1668
    Reviewed-on: http://review.couchbase.org/89413
    Reviewed-by: Mike Wiederhold <mike@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Tested-by: Pavel Blagodov <stochmail@gmail.com>
Commits on Feb 18, 2018
  1. MB-28103: Only negotiate xattrs where it is needed

    timofey-barmin authored and Aliaksey Artamonau committed Feb 15, 2018
    If we need connection with xattrs enabled we ask connection pool to give
    us this particular type of connection. It helps for both (online and
    offline)
    types of upgrades. While cluster is in pre vulcan compat mode xattrs
    requests are disabled so no attempts to negotiate xattrs are done. When
    cluster changes version (pre-vulcan -> vulcan) memcached reloads the
    config using connection without xattrs. From this point any subdoc call
    will request new connection with xattr negotiated which must succeed.
    If memcached config reload fails subdoc requests will fail as well which
    is desired behavior. Some more reasoning:
    1) We don't want xattr negotiations in connections where we do config
    reload and other important stuff because if xattrs are disabled in
    config
    it makes impossible to update memcached config. Thats why xattrs
    negotiation is conditional in ns_memcached:connect()
    2) We can't simply check for cluster compat version in
    ns_memcached:connect()
    and negotiate xattrs if it is vulcan because xattrs might still
    be disabled in memcached.json (and also it contradicts (1)).
    3) We want xattrs to be negotiated in all connections that we use for
    subdoc requests. So we ask connections_pool to give us connection with
    xattrs. We should not perform subdoc requests on pre vulcan versions, so
    we will not try to negotiate xattrs on any pre vulcan versions
    4) No need to drop all the existing connections because
    we will not use them for subdoc requests
    
    Change-Id: I56c03a54e96497ba7515402824ea2e06843190b5
    Reviewed-on: http://review.couchbase.org/89472
    Tested-by: Timofey Barmin <timofey.barmin@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
    Reviewed-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  2. [leader_activities] Make add_activity/6 use add_activity/2.

    aartamonau authored and Aliaksey Artamonau committed Feb 15, 2018
    The code duplication is minor, but still.
    
    Change-Id: I3c6248c82f3eda042a87f60db24d53428579670d
    Reviewed-on: http://review.couchbase.org/89579
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  3. [leader_activities] Pass the activity token to add_activity.

    aartamonau authored and Aliaksey Artamonau committed Feb 15, 2018
    Again, to reduce number of arguments passed around.
    
    Change-Id: Ifeabd88597d0ce1072b858ba7405ae216aecc0b3
    Reviewed-on: http://review.couchbase.org/89578
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  4. [leader_activities] Reduce number of function arguments.

    aartamonau authored and Aliaksey Artamonau committed Feb 15, 2018
    Specifically number of arguments check_no_domain_conflicts has. The
    activity token is created before calling the function.
    
    Change-Id: Iffd949a565197b88e30adc565fa6fbbaf297a3e4
    Reviewed-on: http://review.couchbase.org/89577
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>
  5. [leader_activities] Lower quorum timeout when unsafe is set.

    aartamonau authored and Aliaksey Artamonau committed Feb 15, 2018
    In all likelihood the use has already waited for the full quorum
    timeout when trying to run (presumably) failover with unsafe option
    unset and they want the unsafe failover to run quickly.
    
    The timeout is close to but is still not zero as measure of last
    resort.
    
    Change-Id: Ic313fcb0b1a8700d85fcc8af0e57dffa16afdb07
    Reviewed-on: http://review.couchbase.org/89576
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  6. Lower wait_for_agents timeout for service failover.

    aartamonau authored and Aliaksey Artamonau committed Feb 14, 2018
    If other non-failed-over nodes are down, then the whole failover will
    fail (yet the node *will* get deactivated). The failure is most likely
    to occur after one of the timeouts is hit. And wait_for_agents' one is
    the most likely to get hit, since it's the first one. So lowering it
    to improve user experience.
    
    Change-Id: Ief1bf7bf9fb70f7a086db5480b9c5ab3fea4bb21
    Reviewed-on: http://review.couchbase.org/89427
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  7. [ns_rebalancer] Refactor dealing with failover vbuckets.

    aartamonau authored and Aliaksey Artamonau committed Jan 30, 2018
    Use proplists for better readability.
    
    Change-Id: Ic7876dbab609bc56e5c3412a679545263ff4d93c
    Reviewed-on: http://review.couchbase.org/88653
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  8. MB-9321 Use leader_activities for graceful failover.

    aartamonau authored and Aliaksey Artamonau committed Jan 29, 2018
    Change-Id: Ie52941a7481ae937111f999227259fa1abe270bd
    Reviewed-on: http://review.couchbase.org/88648
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Reviewed-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  9. MB-9321 Use leader_activities for rebalance.

    aartamonau authored and Aliaksey Artamonau committed Jan 29, 2018
    Change-Id: Ib451dd6c7324a8dac9ac8b3d3ae8fdd6cd0c187c
    Reviewed-on: http://review.couchbase.org/88647
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  10. MB-9321 Use leader_activities for failover.

    aartamonau authored and vzasade committed Jan 29, 2018
    Change-Id: I799e9393e562164154e7f0cbfff8743072f4889f
    Reviewed-on: http://review.couchbase.org/88646
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Reviewed-by: Artem Stemkovski <artem@couchbase.com>
  11. Sync config after clearing service pending failover flag.

    aartamonau authored and vzasade committed Feb 14, 2018
    Change-Id: I7039dead9a635d4981faac88b52ae8c0c1c42c90
    Reviewed-on: http://review.couchbase.org/89426
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
  12. MB-9321 Use leader_activities in service_janitor.

    aartamonau authored and vzasade committed Jan 29, 2018
    Change-Id: I432cced763aad6a3179345f64ba0974729e9514b
    Reviewed-on: http://review.couchbase.org/88645
    Reviewed-by: Poonam Dhavale <poonam@couchbase.com>
    Tested-by: Aliaksey Artamonau <aliaksey.artamonau@couchbase.com>
    Well-Formed: Build Bot <build@couchbase.com>