Threads blocking


I have queries that perform well. But when the concurrency increase the performance go down dramatically. Debugging the SDK i found that the call are enqueued in the Blocking class, I know that the sdk use the rx observable/consumer pattern. But I see that the release of the thread is done when the result is traversed. And not when it is obtained from the database.
I am wrong with that? If I am correct, why it is done in this way? Maybe it would be improved releasing the thread in a previous phase.



Hi @fselva, Are you using blocking synchronous calls? The sync calls use Blocking class to make sure at least one item is returned from the observable before the timeout happens. It happens on the current thread. You can check out async programming using the SDK here for improving performance.