Release Notes for CockroachDB v2.1.0-beta.20180827


(jessica) #1

We have now transitioned into the CockroachDB 2.1 Beta phase and will be releasing weekly until the GA release. This week's release includes PostgreSQL compatibility enhancements, general usability improvements, performance improvements, and bug fixes. In addition, we want to highlight a few major benefits:

  • Automatic performance optimizations - Range leases are now automatically rebalanced throughout the cluster to even out the amount of QPS being handled by each server.
  • Better controls for geo-distributed clusters - We’ve added more sophisticated support for controlling the network interfaces to use in certain situations, so nodes can prefer local, private IPs for inter-DC communication, and only use public IPs when making hops that must go over the open internet. See the --locality-advertise-addr flag of the cockroach start command for more details.

This week’s release notes are too long for the forum (exceeding the character limit by 10k characters). They can be read in full on the docs site.

(Piyush Katariya) #2


About Automatic Perfomance Optimizations and rebalancing, what if Client keep on sending same complex queries to random Nodes ? Will it lead to I/O storm throughout cluster due to frequent rebalancing ?

(Alex Robinson) #3
  1. The decisions are based on the number of queries processed by a node made over the last half hour or so using an exponentially weighted moving average to more heavily weight recent load. They only happen if load on the cluster is above a certain threshold, the difference in load between nodes is substantial (greater than 25% difference by default), and there are leases that could be transferred that will meaningfully even out the load in the cluster. “Sending same complex queries to random Nodes” is too vague of an attack plan to judge its merit, but if I take its most literal meaning it wouldn’t cause any load-based rebalancing to happen.
  2. Only leases are transferred based on load as of today. Very little I/O is involved in lease transfers, since the data itself doesn’t have to be moved from the nodes it’s currently on in order to change the leaseholder.