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

Removed ticket auto-expiring logic from statestore #1146

Merged
merged 2 commits into from
Mar 7, 2020

Conversation

yfei1
Copy link
Collaborator

@yfei1 yfei1 commented Mar 5, 2020

Resolved #815.

Per discussion, removed the EXPIRE logic from our statestore implementation.

@yfei1 yfei1 added this to the v0.10.0 milestone Mar 5, 2020
@yfei1 yfei1 self-assigned this Mar 5, 2020
@sawagh
Copy link
Collaborator

sawagh commented Mar 6, 2020

To confirm my understanding, #815 speaks of us not expiring indices with Ticket expiration. With the query cache, we have completely done away with indices creation (except all tickets) - so if the index expiration is added to the all tickets index, wont #815 be addressed?

My suspicion is, come customer do not manage Ticket deletion at all and just let the tickets expire and assume auto cleanup. Although that was not working as intended anyways, this change mandates customers to cleanup Tickets explicitly - correct? If so, this is a behavior change that we should add documentation for and explicitly shout out to the community.

I think it is worth pushing this change anyways - and then creating a separate issue to document the Ticket cleanup mechanism for Open Match users - and lets get feedback on that (and re-implement changes the correct way if that turns out to be the conclusion)

Copy link
Collaborator

@sawagh sawagh left a comment

Choose a reason for hiding this comment

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

See my comment on the general fix - once we create an issue to track the usage change / documentation needed, I can approve this.

@yfei1
Copy link
Collaborator Author

yfei1 commented Mar 6, 2020

To confirm my understanding, #815 speaks of us not expiring indices with Ticket expiration. With the query cache, we have completely done away with indices creation (except all tickets) - so if the index expiration is added to the all tickets index, wont #815 be addressed?

My suspicion is, come customer do not manage Ticket deletion at all and just let the tickets expire and assume auto cleanup. Although that was not working as intended anyways, this change mandates customers to cleanup Tickets explicitly - correct? If so, this is a behavior change that we should add documentation for and explicitly shout out to the community.

I think it is worth pushing this change anyways - and then creating a separate issue to document the Ticket cleanup mechanism for Open Match users - and lets get feedback on that (and re-implement changes the correct way if that turns out to be the conclusion)

Yes, the query cache resolved most of the index expiration problem except for the allTickets part. The problem is, Redis doesn’t have a good way for expiring the non top-level data. E.g, there is no way in Redis to partially expire a set. We’ll need to change the current choice of data structure into something else if we want to keep this behavior untouched. I’ll open up an issue to make sure we document the behavior change and gather the feedbacks.

@yfei1 yfei1 requested a review from sawagh March 6, 2020 16:32
Copy link
Collaborator

@sawagh sawagh left a comment

Choose a reason for hiding this comment

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

Please open the stated issue - mark it as tsc-discuss v1.0 - we can pull in as necessary.

@yfei1 yfei1 merged commit 7a4aa35 into googleforgames:master Mar 7, 2020
@yfei1 yfei1 deleted the rmexpire branch March 7, 2020 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

statestore.CreateTicket does not expire ticket indices when redis.expiration is set
3 participants