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

RetryHandlerSkeleton #152

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Conversation

ekaschaw
Copy link

Implementation not fully complete, outline for classes and methods to implement for Retry Handling based on given exception.

Copy link
Collaborator

@raghumdani raghumdani left a comment

Choose a reason for hiding this comment

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

On a high level, you can pass an optional argument to the task using which task can send heartbeats or progress events. Once you receive the event, you can trigger custom logic that determines whether to retry or cancel and end the task.

deltacat/utils/ray_utils/RetryHandler/NonRetryableExc.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/RetryableExc.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/TaskInfoObject.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/TaskInfoObject.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/TaskInfoObject.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/retry.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/retry.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/retry.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/retry.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/RetryHandler/retry.py Outdated Show resolved Hide resolved
@raghumdani
Copy link
Collaborator

Each error class can encapsulate the error code.

Copy link
Collaborator

@raghumdani raghumdani left a comment

Choose a reason for hiding this comment

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

On a high level, it is still not clear how we can make use of these classes to fulfill our use-cases.

deltacat/utils/ray_utils/retry_handler/logger.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/retry_handler/retry.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/retry_handler/task_constants.py Outdated Show resolved Hide resolved
deltacat/utils/ray_utils/retry_handler/task_info_object.py Outdated Show resolved Hide resolved
@ekaschaw ekaschaw requested a review from raghumdani July 24, 2023 21:28
Copy link
Collaborator

@raghumdani raghumdani left a comment

Choose a reason for hiding this comment

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

Overall, skeleton wise, still a bit of clarity in the README.md is required regarding how they can actually accomplish their use-cases.

Copy link
Collaborator

@raghumdani raghumdani left a comment

Choose a reason for hiding this comment

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

Looks good from skeleton standpoint, Kudos! However there is some more work required from the implementations point of view which we can go over in the final implementation PR. Please also address minor comments on the latest revision.

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