Linear scalability test


I used instructions

  1. I ran ./yb-docker-ctl create --rf 3 --num_shards_per_tserver 4

  2. I ran docker run --name yb-sample-apps --hostname yb-sample-apps --net yb-net yugabytedb/yb-sample-apps --workload SqlInserts \ --nodes yb-tserver-n1:5433 \ --num_threads_write 1 \ --num_threads_read 4

  3. Everything was fine.

  4. I added the node ./yb-docker-ctl add_node --num_shards_per_tserver 4

  5. Everything worked, but requests were distributed unevenly: (n4 and n1 servers). Why?

  6. I deleted the node ./yb-docker-ctl remove_node 4

  7. Reading and writing fell to zero

  8. I decided to restart yb-sample-apps and got this error .

  9. And when I created the node, I didn’t get yb-master-n4. I only got yb-tserver-n4. Is it right?

Maybe I didn’t understand how it works. Help please.

p.s. I use Docker

Can you paste the error/info logs of all the tservers/masters ?
For some reason the servers failed (need logs), and rerunning the test it can’t create a table (cause there’s no consensus).

That’s because n3,n4 have 2 leaders (see third column). Currently read requests go only to the leader tablet.
Do you need also to read from tablet peers ?

If you see, the same happens for write requests, they have 2 leaders and 2x write-ops.
Reading from peers may will have relaxed guarantees (not strongly consistent like leader).
If you need that functionality, can you please open a github issue ?