components-contrib icon indicating copy to clipboard operation
components-contrib copied to clipboard

CosmosDB reminder partitioning not storing reminders in partitions

Open arnoldpistorius opened this issue 11 months ago • 4 comments

When using CosmosDB as actor state store with reminder partitioning enabled, the reminders are not stored in the partitions anymore since runtime version 1.10.5 (v1.10.4 or lower is working correctly).

Expected Behavior

Actor reminders should be stored in partitions to optimize performance with CosmosDB.

Actual Behavior

The actor reminders are stored in a single CosmosDB document, causing high RU usage when many reminders are used.

Steps to Reproduce the Problem

I have created a sample project that demonstrates the bug:

https://github.com/arnoldpistorius/bug-dapr-cosmosdb-partitioning

Basically the steps are:

  • Configure CosmosDB Container as actor state.
  • In SDK enable actor reminder partitioning (eg. 3).
  • Create a bunch of reminders through an actor.
  • Observe the CosmosDB container's contents.
    • All reminders are stored in the same document
    • 2 different partitions were made, but both not used
    • After service restart additional partitions are made and some data is migrated, but still new reminders come in a single document.

When the same scenario is done using Redis as actor state store, the partitioning is working as expected.

Release Note

RELEASE NOTE:

arnoldpistorius avatar Mar 13 '24 11:03 arnoldpistorius

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue, help wanted or triaged/resolved) or other activity occurs. Thank you for your contributions.

github-actions[bot] avatar Apr 12 '24 11:04 github-actions[bot]

bump

arnoldpistorius avatar Apr 12 '24 11:04 arnoldpistorius

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue, help wanted or triaged/resolved) or other activity occurs. Thank you for your contributions.

github-actions[bot] avatar May 12 '24 11:05 github-actions[bot]

This is still a valid issue..

arnoldpistorius avatar May 16 '24 09:05 arnoldpistorius