Skip to content

Conversation

ychebotarev
Copy link
Contributor

@ychebotarev ychebotarev commented Jan 28, 2025

What changed?

  1. Add activity batch unpause API implementation.
  2. Add implementation for commulative changes for a single activity API:
  • add 'jitter' fields to Reset and Unpause
  • 'Flatten' unpause. Previous approach was marked as overcomplicated
  • Add 'keep_unpause' flag to Reset. By default reset will also unpause the activity.
  • Remove no-wait flag. By default, if activity is in retry, they will be scheduled immediately (*jitter)
  • Add "activity type" as a routing parameter to every activity operation. If activity type is provided - every pending activity of this type will be paused/reset/updated/unpaused
  • fix/update many tests

TODO: separate func tests for batch unpause.

Why?

Part of the activity API work.

How did you test it?

fixing and running unit/func tests

Potential risks

N/A

Documentation

Not for now.

Is hotfix candidate?

No

@alexshtin
Copy link
Contributor

alexshtin commented Jan 29, 2025

I think you need at least one basic functional test for batch operation.

TODO: separate func tests for batch unpause.

Will be a separate PR

Copy link
Contributor

@alexshtin alexshtin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't check core logic carefully but it seems that test coverage is pretty good there.

ychebotarev added a commit to temporalio/api that referenced this pull request Jan 30, 2025
<!-- Describe what has changed in this PR -->
**What changed?**
Add batch activity unpause operation. 

<!-- Tell your future self why have you made these changes -->
**Why?**
Part of the activity API work.

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**
No

<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
[Add batch activity unpause. Single activity commulative
changes](temporalio/temporal#7169)
temporal-cicd bot pushed a commit to temporalio/api-go that referenced this pull request Jan 30, 2025
<!-- Describe what has changed in this PR -->
**What changed?**
Add batch activity unpause operation.

<!-- Tell your future self why have you made these changes -->
**Why?**
Part of the activity API work.

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**
No

<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
[Add batch activity unpause. Single activity commulative
changes](temporalio/temporal#7169)
ychebotarev added a commit to temporalio/api that referenced this pull request Jan 30, 2025
<!-- Describe what has changed in this PR -->
**What changed?**
This PR  contains  a commutative feedback for single activity API:
* add 'jitter' fields to Reset and Unpause
* 'Flatten' unpause. Previous approach was marked as overcomplicated
* Add 'keep_unpause' flag to Reset. By default reset will also unpause
the activity.
* Remove no-wait flag. By default, if activity is in retry, they will be
scheduled immediately (*jitter)
* Add "activity type" as a routing parameter to every activity
operation. If activity type is provided - every pending activity of this
type will be paused/reset/updated/unpaused
* Update API descriptions to reflect those changes.

<!-- Tell your future self why have you made these changes -->
**Why?**
Working on single activity API feedback from the design review.


<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**
Yes

<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
[Add batch activity unpause. Single activity commulative
changes](temporalio/temporal#7169)
temporal-cicd bot pushed a commit to temporalio/api-go that referenced this pull request Jan 30, 2025
<!-- Describe what has changed in this PR -->
**What changed?**
This PR  contains  a commutative feedback for single activity API:
* add 'jitter' fields to Reset and Unpause
* 'Flatten' unpause. Previous approach was marked as overcomplicated
* Add 'keep_unpause' flag to Reset. By default reset will also unpause
the activity.
* Remove no-wait flag. By default, if activity is in retry, they will be
scheduled immediately (*jitter)
* Add "activity type" as a routing parameter to every activity
operation. If activity type is provided - every pending activity of this
type will be paused/reset/updated/unpaused
* Update API descriptions to reflect those changes.

<!-- Tell your future self why have you made these changes -->
**Why?**
Working on single activity API feedback from the design review.

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**
Yes

<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
[Add batch activity unpause. Single activity commulative
changes](temporalio/temporal#7169)
@ychebotarev ychebotarev merged commit 3d42e7e into main Jan 30, 2025
50 checks passed
@ychebotarev ychebotarev deleted the y_final branch January 30, 2025 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants