MB-8940: reinforcement of replications table cell

Change-Id: I0afaaecb487f63d13185f149b5bed88e3e0d9fdd
Reviewed-on: http://review.couchbase.org/29183
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-8972: implemented UI testing for settings tab

Change-Id: I27ff48c9c457959e8a069eaaaaaffddb36782e50
[alk@tut.by: removed non-semantic whitespace change]
Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
Reviewed-on: http://review.couchbase.org/29151
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9208 do not allow to save objects that cannot be consumed

... by couchdb

Change-Id: Ide851177f8512c591d06f273525fb5c3fc2eed96
Reviewed-on: http://review.couchbase.org/29311
Tested-by: Artem Stemkovski <artem@couchbase.com>
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9208 if document save fails, the doc should not appear to be 'saved'

Change-Id: I4c03924675e9aa73a6990af41f94907ddf980909
Reviewed-on: http://review.couchbase.org/29310
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-100: unbreak sending output of xdcr settings

Change-Id: I9d4e8c882e1807bebcb96ae3ec069180f82be6c7
Reviewed-on: http://review.couchbase.org/29312
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
Tested-by: Artem Stemkovski <artem@couchbase.com>
MB-100 do not crash ebucketmigrator_srv child after Ctrl-C

- removes unnecessary crash report. in this case all we might
  need to know is that the socket is closed

- the current behavior depends on a race. if memcached
  shuts down before gen_tcp:send, there will be crash report.
  if a moment later, then there will be just a warning.

Change-Id: I988803677cf530a4b67f6ec0ca217e34f05abaf1
Reviewed-on: http://review.couchbase.org/29211
Tested-by: Artem Stemkovski <artem@couchbase.com>
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9217: added node count to bucket-wide statistics screen

Change-Id: I0b7dcdcbfd1c629ce7f830cf0a3c12db8352018d
Reviewed-on: http://review.couchbase.org/29368
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9217: killed unused code

Change-Id: Ic2e68a315c8965474b3e70b6d143e69950f5b7be
Reviewed-on: http://review.couchbase.org/29369
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9215: fixed size of buckets/clusters select boxes

Change-Id: Iaf71a45039af892e7aac1b85c371bf9088d34ffb
Reviewed-on: http://review.couchbase.org/29370
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9183: added ability to customize z-index of spinner

Change-Id: I15b47087735fe11fb24e9f470c763577b85e651c
Reviewed-on: http://review.couchbase.org/29371
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9154 wait for ns_stats_event from the correct node

- menelaus_stats_gatherer gen_server delegates stats gathering
  from the web server node to the FirstNode. this guarantees
  that we will wait for the ns_stat_event on the node
  we getting our first samples from

Backward compatibility:
- if the FirstNode has version less than 3.0 we will
  keep the current faulty behavior which will be fixed
  by the code from the following commit:
  MB-9154 ensure that stats rest api returns the same number of samples

Why it was broken:
- in case if stats are requested from the specific node
  (other than current node) menelaus_stats was waiting for
  ns_stats_event from the current node and then was retrieving
  samples from the node for which stats were requested.
  this doesn't guarantee that at least one sample that
  is later than ClientTStamp will be retrieved

- in this particular bug this led to different number of samples
  being retrieved for regular stats and for system stats.
  the conversion to JSON picks up one timestamp array out of the two
  (the one for regular stats, because it comes first)
  so for 2 timestamps we had just one entry for each system stat.
  since the client simply concatenates stat arrays the system stat
  samples were sliding against timestamps which caused
  visible graph sliding against the time grid

- also we don't have to drop the last sample if we retrieve
  stats just for one node

- this change effectively fixes the bug, but still there's
  theoretical possibility that extra sample for system stats
  will be archieved while we wait for the sample for regular
  stats. I will submit the safeguard agains such situation
  in the next commit

Change-Id: I720f8ea25d8d33a7e7136055abc246ff5b4f3bde
Reviewed-on: http://review.couchbase.org/29179
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9154 ensure that stats rest api returns the same number of samples

... for system and for bucket stats

- this safeguard is needed since the sample retrieveing code
  does not guarantee that the same number of samples will be
  retrieved. so in the rare occasion when bucket or system stats
  will have extra sample, this extra sample will be discarded

- also on mixed clusters it is still not guaranteed that
  the returned number of samples will be the same. this
  code will fix it.

Change-Id: I219fe69430a9045761dd0271fe84fc5e88d22234
Reviewed-on: http://review.couchbase.org/29200
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-100 rename mem_used @system stat to mem_used_sys

- because it conflicts with and overwrites mem_used bucket stat

Change-Id: I725e8ef95533d792b2ead5a3aca70c2a2ab06092
Reviewed-on: http://review.couchbase.org/29216
Tested-by: Artem Stemkovski <artem@couchbase.com>
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-3186 use server time zone for timestamps of log entries

backward compatibility story :

- after the ns_log file is unzipped all entries will
  be upgraded to the new format
- if the pre 3.0 node will send do_log or sync to 3.0 node
  the log entries will be upgraded and time zone
  of the receiving node will be used
- 3.0 node will strip server_time from the log
  entries when it sends do_log or sync to pre 3.0 nodes

Change-Id: I070a22eb238229357f83b80cc382637689661998
Reviewed-on: http://review.couchbase.org/29267
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-9096: killed cluster_compat_mode:is_cluster_20

And all code paths that implemented 1.8.x backwards compat based on
on it's result

Change-Id: I22b5ce48d219defbef23b09ee0866b879d66edfe
Reviewed-on: http://review.couchbase.org/29314
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
MB-9096: killed ns_vbm_sup

Change-Id: Idf36011b11717d6a2d5235e98236e082e19bc772
Reviewed-on: http://review.couchbase.org/29315
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
MB-9096: nuked 1.8 replication remains in failover_safeness_level

Change-Id: If64e111c6807859bc56752a3b11a7c1b82b87b95
Reviewed-on: http://review.couchbase.org/29316
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
MB-9096: optimized is_node_compatible when cluster is compatible

There's no need to check for particular node's compatibility with
certain feature if entire cluster's mode is new enough.

Change-Id: I9573e6b2049cb00d2adad709ba41ec5285d66a6b
Reviewed-on: http://review.couchbase.org/29317
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
MB-9096: killed ns_online_config_upgrader

Which is not needed anymore.

I.e. majority of this code is handling upgrade from pre-2.0 to 2.0.

A bit more controversial piece is removal of xdcr settings which were
meant to be upgraded as part of upgrade to 2.2. But apparently it was
never working.

If we ever need similar code, then returning this module is going to
be easy

Change-Id: Icf682f560da0732c42680bf992d362d7e1882508
Reviewed-on: http://review.couchbase.org/29318
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
MB-9096: bumped cluster compat mode to 3.0

Change-Id: Icde488250eb5a8608825a755d1cb45683ae699b5
Reviewed-on: http://review.couchbase.org/29319
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>