Matthieu Baechler created JAMES-3123: ----------------------------------------
Summary: Manage properly Cassandra queries concurrency Key: JAMES-3123 URL: https://issues.apache.org/jira/browse/JAMES-3123 Project: James Server Issue Type: Improvement Components: cassandra Reporter: Matthieu Baechler We have several parameters regarding Cassandra usage in James: * cassandra driver queue size * cassandra driver threadpool size * reactor concurrency tuning We frequently fine tune these parameters based on metrics feedback: for example https://github.com/linagora/james-project/pull/3218 tries to limit the impact of counters computation on the user queries However, this "try, measure, fix" strategy could be handle by engineering a better execution framework. I suggest this one: * use two specific reactor workqueues for running cassandra queries, one for interactive queries and another one for background queries * ensure we don't schedule more queries than the Cassandra queue size can handle by using back-pressure * send queries to the right workqueue depending on the expected execution characteristics -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org