Search code examples
javacouchdbcloudantektorp

Connection pool timeout in cloudant ( via ektorp)


I am using cloudant and ektorp for DB operations in my java application. When I try to do a load test for 100 users (concurrent hits), it throws

Caused by: org.ektorp.DbAccessException: org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection
        at org.ektorp.util.Exceptions.propagate(Exceptions.java:19)
        at org.ektorp.http.StdHttpClient.executeRequest(StdHttpClient.java:146)

Following is my couchdb.properties file

url=https://myaccount.cloudant.com:443
host=https://myaccount.cloudant.com
port=443
username=myusername
password=mypassword
relaxedSSLSettings=true
enableSSL=true
maxConnections=100
connectionTimeout=3000
socketTimeout=30000
autoUpdateViewOnChange=true
cleanupIdleConnections=true

I am using the following code for creating connector

CouchDbConnector dbConnector = couchdbInstance.createConnector(
                    xxxx,true);
dbConnector.queryView(query,test.class);

Please help me understand why I get connection timeout and what param i might need to change inorder to fix this


Solution

  • By default, multitenant Cloudant accounts are limited to 30 concurrent connections per backend node (typically 3, so 90 concurrent connections). If you need more, reach out to the team at [email protected] and we can increase your concurrent connections limit.