Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GOBBLIN-2190] Implement ActivityConfigurationStrategy for Temporal Activities #4093

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Blazer-007
Copy link
Member

@Blazer-007 Blazer-007 commented Jan 23, 2025

Dear Gobblin maintainers,

Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!

JIRA

Description

  • Here are some details about my PR, including screenshots (if applicable):
    Implemented ActivityConfigurationStrategy
    Created ActivityType Enum
    Refactored the interfaces to pass properties

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:
    ActivityConfigurationStrategyTest
    TemporalActivityUtilsTest

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

@Blazer-007 Blazer-007 changed the title [GOBBLIN-XXX] Implement ActivityTimeoutStrategy for Temporal Activities [GOBBLIN-2190] Implement ActivityTimeoutStrategy for Temporal Activities Jan 23, 2025
@Blazer-007 Blazer-007 marked this pull request as ready for review January 23, 2025 12:34
@Blazer-007 Blazer-007 changed the title [GOBBLIN-2190] Implement ActivityTimeoutStrategy for Temporal Activities [GOBBLIN-2190] Implement ActivityConfigurationStrategy for Temporal Activities Jan 31, 2025


/**
* Interface for defining timeout strategies for different Temporal activities.
Copy link
Contributor

Choose a reason for hiding this comment

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

[NIT] timeout strategies -> "activity configuration strategies"


/**
* Interface for defining timeout strategies for different Temporal activities.
* Each strategy provides a method to retrieve the timeout duration based on the provided properties.
Copy link
Contributor

Choose a reason for hiding this comment

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

change as per scope of new class to something like -> "Each strategy provides a method to retrieve configuration details, such as timeout duration, based on the provided properties."

private static Duration getStartToCloseTimeout(ActivityType activityType, Properties props) {
ActivityConfigurationStrategy activityConfigurationStrategy = activityConfigurationStrategies.get(activityType);
if (activityConfigurationStrategy == null) {
return ActivityConfigurationStrategy.defaultStartToCloseTimeout;
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's add log to track this scenario


@Override
protected Promise<Integer> launchAsyncActivity(final WorkUnitClaimCheck wu) {
return Async.function(activityStub::processWorkUnit, wu);
protected Promise<Integer> launchAsyncActivity(final WorkUnitClaimCheck wu, final Properties props) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we plan to add unit tests for this?

Copy link
Member Author

Choose a reason for hiding this comment

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

Unit tests for older temporal classes needs to be done separately as it will required dedicated effort for this which is beyond the scope of this PR

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.

2 participants