By using AWS re:Post, you agree to the Terms of Use
/Keyspaces: Why do i get WriteThrottleEvents when there is plenty of write capacity available?/

Keyspaces: Why do i get WriteThrottleEvents when there is plenty of write capacity available?

0

When attempting to import data into keyspaces, even with provisioned WCU of 40000, I am only able to import a few thousand records per second. The graphs show that it is only using a small amount of the available capacity, but also shows that the WriteThrottleEvents are through the roof. What causes writes to become throttled even though the provisioned capacity is barely being used? The errors returned to the client are all WriteTimeout.

asked 4 months ago9 views
1 Answers
0

Hello,

Thank you for using Apache Cassandra.

In AWS Keyspaces(for Apache Cassandra), the throttling exception on the table gets translated to timeout exceptions at the client side. Similar to DynamoDB, even in AWS Keyspaces, data is distributed across multiple partitions at the backend and each partition has a throughput limit of 3000 RCU or 1000 WCU. Throttling in Keyspaces table occurs due to :

  1. In case of table with provisioned capacity mode : exceeding the provisioned capacity allocated for the table or exceeding the partition level throughput limit.
  2. In case of table with on demand capacity mode: consuming more than double the previous traffic peak for the table or exceeding the partition level throughput limit

Resolution:

  1. If the throttling is due to exceeding the table’s provisioned throughput, then increase the provisioned capacity accordingly based on your table’s traffic or enable autoscaling on the table.
  2. If the throttling is due to exceeding the partition level throughput limit, then:

    • Increasing the provisioned capacity won’t help.
    • Have a look at your access patterns and distribute read and write operations evenly across the backend partitions of your table and not exceeding the partition level throughput limit of 3000 IOPS.
    • Implement error retries based on exponential back off strategy - If not using AWS SDK, then you will have to implement a retry strategy which retries these throttled requests multiple times (10 times) based on exponential backoff strategy.

If you still have further concern, we would recommend you to open a case with Premium Support we require details that are non-public information. Please open a support case with AWS using the following link

Thank you,
Kartik_R

SUPPORT ENGINEER
answered 4 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions