Thanks for the question. CockroachDB is a CP system (see here), so a lot of the answers to your questions fall our of that.
What happen is a node gets isolated
When a node is isolated, it won’t be able to write because it won’t be able to establish a quorum. This is necessary to maintain consistency in the presence of partitions.
Could the local connection still be able to read the data it hosts even if it cannot connect to the rest of the cluster
CockroachDB uses read leases to allow part of a replication quorum to read at the present time without coordinating with others. In order to maintain a read lease, a node must periodically make contact with other nodes. When a node is partitioned, it may or may not have an existing lease on a certain part of data (if that data has been replicated to it at all). If the node does not have a lease on the data then it won’t be able to read. This is required for correctness because the node may have missed some writes. If the node does have a lease on the data, it will temporarily be able to read the data, but once the lease expires (O(seconds)) it will stop being able to read. Again, this necessary to provide strong consistency.
However, CockroachDB does support “time travel queries”, which allows a query to read at a historical timestamp. We are currently working on a new feature called “follower reads”, which will allow time travel queries to read data even on nodes that don’t have a lease to read at the present time. One effect of this is that it will allow nodes that are partitioned off from other nodes to continue serving reads as long as those reads are sufficiently in the past (O(seconds)) such that it would be impossible for the majority partition to have affected the result of those reads.
You can read more about this in our FAQ: https://www.cockroachlabs.com/docs/v2.0/frequently-asked-questions.html and in our architecture documentation: https://www.cockroachlabs.com/docs/v2.0/architecture/replication-layer.html.
Please let me know if you have any other questions.