Skip to content

Commit

Permalink
CBQE-816: implement the possibility of changing internalSettings via API
Browse files Browse the repository at this point in the history
rebalanceIndexWaitingDisabled
rebalanceIndexPausingDisabled
maxParallelIndexers
maxParallelReplicaIndexers

Change-Id: I0439180711a8d0817da0c9f26a1f6a60af9832fc
Reviewed-on: http://review.couchbase.org/22642
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Tested-by: Andrei Baranouski <andrei.baranouski@gmail.com>
  • Loading branch information
andreibaranouski committed Nov 22, 2012
1 parent ebad51c commit 99e2a6f
Showing 1 changed file with 39 additions and 6 deletions.
45 changes: 39 additions & 6 deletions lib/membase/api/rest_client.py
Expand Up @@ -1454,12 +1454,45 @@ def set_reb_cons_view(self, disable=None):
return self.diag_eval(cmd)

def set_reb_index_waiting(self, disable):
"""Enable/disable index waiting phase"""
cmd = 'ns_config:set(rebalance_index_waiting_disabled, %s).'\
% str(disable).lower()
log.info('%s index_waiting during rebalance'
% ("Disabling" if disable else "Enabling"))
return self.diag_eval(cmd)
"""Enable/disable rebalance index waiting"""
api = self.baseUrl + "internalSettings"
params = {"rebalanceIndexWaitingDisabled": str(disable).lower()}
params = urllib.urlencode(params)
status, content, header = self._http_request(api, "POST", params)
log.info('rebalance index waiting was set as rebalanceIndexWaitingDisabled={0}'\
.format(str(disable).lower()))
return status

def set_rebalance_index_pausing(self, disable):
"""Enable/disable index pausing during rebalance"""
api = self.baseUrl + "internalSettings"
params = {"rebalanceIndexPausingDisabled": str(disable).lower()}
params = urllib.urlencode(params)
status, content, header = self._http_request(api, "POST", params)
log.info('index pausing during rebalance was set as rebalanceIndexPausingDisabled={0}'\
.format(str(disable).lower()))
return status

def set_max_parallel_indexers(self, count):
"""set max parallel indexer threads"""
api = self.baseUrl + "internalSettings"
params = {"maxParallelIndexers": count}
params = urllib.urlencode(params)
status, content, header = self._http_request(api, "POST", params)
log.info('max parallel indexer threads was set as maxParallelIndexers={0}'.\
format(count))
return status

def set_max_parallel_replica_indexers(self, count):
"""set max parallel replica indexers threads"""
api = self.baseUrl + "internalSettings"
params = {"maxParallelReplicaIndexers": count}
params = urllib.urlencode(params)
status, content, header = self._http_request(api, "POST", params)
log.info('max parallel replica indexers threads was set as maxParallelReplicaIndexers={0}'.\
format(count))
return status


def set_mc_threads(self, mc_threads=4):
"""
Expand Down

0 comments on commit 99e2a6f

Please sign in to comment.