-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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
ignore object exists error for memory store provider #5607
Conversation
Test PASSed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably better to define a separate error type rather than checking the message. Especially considering that we should probably bubble the error up to the worker instead of hard-coding an ignore when there are duplicate keys. Don't have to do that in this PR but would be good to define the error type now.
Thanks for reviewing. It probably depends on whether we should bubble up the error or just ignore it inside object interface, but yes I agree it's better to have a type instead of a message for this, thus I've added a new |
Test FAILed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should definitely do it in the ObjectStoreInterface
, it shouldn't be much added work and we can then remove the same logic from inside the PlasmaStoreProvider
.
Co-Authored-By: Edward Oakes <ed.nmi.oakes@gmail.com>
Looking at the code again, I realized putting it into
|
Why isn't the direct actor call transport going through the object interface? The object interface should know where to put the object based on the ID, right? |
Currently we use memory store just to contain the return objects of direct actor call tasks, nothing else. When user calls |
Test PASSed. |
Hmm we should probably still go through the same codepath for this, otherwise we're going to end up with duplicated code/bugs (like this one). Shouldn't be much code or runtime overhead to switch based on the object ID - what do you think? |
The issue is about semantics & correctness, not overhead. I think the assumption is when user directly calls Try to do the switch based on the object ID, while also ensure the user's put will always be stored into plasma inside
|
I see your point, but I would find it very strange to have |
If you really want to do it that way, could you please file another PR? You can assign me as reviewer. thanks.
|
@edoakes I think the refactor can be done in a separate PR. Let's merge this one first to unblock CI. |
Sure, I'm not completely sold on any solution yet. Please go ahead and
merge.
…On Wed, Sep 4, 2019, 20:35 Hao Chen ***@***.***> wrote:
@edoakes <https://github.com/edoakes> I think the refactor can be done in
a separate PR. Let's merge this one first to unblock CI.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5607?email_source=notifications&email_token=ACLKAZPE72POPIN6LKW4ODTQIB5BHA5CNFSM4ISVOJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD55WYXA#issuecomment-528182364>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACLKAZI3LEMAJCPA26SZHSDQIB5BHANCNFSM4ISVOJ6Q>
.
|
Why are these changes needed?
It's reported that sometimes core worker test fails because we don't ignore the the object exists error for memory store provider. This PR fixes that issue.
https://travis-ci.com/ray-project/ray/jobs/229393241
Related issue number
Checks
scripts/format.sh
to lint the changes in this PR.