My setup is 3 voltdb servers, kfactor 1, 8 sites per hosts (serves are running on VMs of 8 cores each). And i have a partitioned table (couple INTEGER columns only).
My Java application is connected to all 3 servers. It calls asynchronously "in a loop manner" a single-partitioned stored procedure which performs an upsert operation.
In practice, the application is calling asynchronously 48k/sec the stored procedure and the cluster seems to handle this fine as per the Management Center. However, I'm trying to understand the backpressure events that I'm seeing on the application side in the ClientStatusListenerExt because the cpu load on the servers are low always (i.e 10-15%).
Could you please help to clarify why the server cpu load could be low and the server queue being full (telling that the server cannot handle the workload)?
I have tried to tune setMaxOutstandingTxns() on the client config but no visible effect... So i may be trying to fine tune the wrong queue? (server queue vs partition queue)