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

Disable invalidation time #18640

Merged
merged 1 commit into from
Jun 28, 2024
Merged

Disable invalidation time #18640

merged 1 commit into from
Jun 28, 2024

Conversation

ssyssy
Copy link
Contributor

@ssyssy ssyssy commented Jun 27, 2024

What changes are proposed in this pull request?

Disable the onCacheEviction Handler.

Why are the changes needed?

To fix a potential cache eviction recursion issue.

Does this PR introduce any user facing changes?

No.

@ssyssy ssyssy changed the base branch from main to master-2.x June 27, 2024 20:49
@ssyssy ssyssy requested review from jja725 and jiacheliu3 June 27, 2024 20:51
@jja725
Copy link
Contributor

jja725 commented Jun 27, 2024

@apc999 @elega @jiacheliu3 Plz take a look as well

@ssyssy ssyssy force-pushed the disable-invalidation-time branch from 49d37a1 to 95fde63 Compare June 27, 2024 22:31
@ssyssy ssyssy requested a review from jja725 June 27, 2024 22:32
Copy link
Contributor

@jiacheliu3 jiacheliu3 left a comment

Choose a reason for hiding this comment

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

Since you can';t use JIRA link in this PR in open source, create a Github issue pointing to the master-2.x branch with an example jstack showing an example stacktrace of the loop. Then in the code comment, leave a link to that issue.

Also I feel we should keep the UT class, because the notifySyncedPath() call is still in the code. It's just we removed its callers. I prefer we just leave a comment in the UT code saying the only caller will be a cmdline manual call, and nothing else. In that case, if one day (or later) we figure this invalidation time feature should be back, the UT is there. Anyways, this is just a recommendation and not a very strong opinion.

Other than that, the code change LGTM so I will give the stamp beforehand. Trust you guys will handle the comments. Tests all pass and I'm not concerned so far. Let's see if your manual tests validate this fix.

Thanks a lot for the work!

Comment on lines 101 to 106
// We decide to stop updating invalidation time for paths in order to avoid
// paths got evicted recursively. Stopping calling this onCacheEviction
// function will result in stopping updating invalidation time for all paths.
// Since no one is using this invalidation time feature, we decide to disable
// updating invalidation time.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// We decide to stop updating invalidation time for paths in order to avoid
// paths got evicted recursively. Stopping calling this onCacheEviction
// function will result in stopping updating invalidation time for all paths.
// Since no one is using this invalidation time feature, we decide to disable
// updating invalidation time.
// Due to issue https://github.com/Alluxio/alluxio/issues/blah,
// we decide to stop updating invalidation time for paths in order to avoid
// paths got evicted recursively. Stopping calling this onCacheEviction
// function will result in stopping updating invalidation time for all paths.
// Since no one is using this invalidation time feature, we decide to disable
// updating invalidation time.

Comment on lines 31 to 32
* Tests the {@link UfsSyncPathCache} using only validations and invalidations,
* and without using interval based syncing.
Copy link
Contributor

Choose a reason for hiding this comment

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

 * Due to issue https://github.com/Alluxio/alluxio/issues/blah, we removed
 * the actual callers of invalidation time.
 * Tests the {@link UfsSyncPathCache} using only validations and invalidations,
 * and without using interval based syncing.

@jja725
Copy link
Contributor

jja725 commented Jun 28, 2024

@ssyssy Let's address Jiacheng's comment today so we have some buffer for the release

@ssyssy ssyssy force-pushed the disable-invalidation-time branch from b62e847 to b417e2b Compare June 28, 2024 19:17
@ssyssy
Copy link
Contributor Author

ssyssy commented Jun 28, 2024

alluxio-bot, merge this please

@alluxio-bot
Copy link
Contributor

merge failed:
Merge refused because pull request does not have label start with type-

@ssyssy ssyssy added the type-bug This issue is about a bug label Jun 28, 2024
@ssyssy
Copy link
Contributor Author

ssyssy commented Jun 28, 2024

alluxio-bot, merge this please

@alluxio-bot alluxio-bot merged commit 8dc6653 into master-2.x Jun 28, 2024
2 checks passed
Xenorith pushed a commit that referenced this pull request Jun 28, 2024
### What changes are proposed in this pull request?

Disable the onCacheEviction Handler.

### Why are the changes needed?

To fix a potential cache eviction recursion issue.

### Does this PR introduce any user facing changes?

No.
			pr-link: #18640
			change-id: cid-3766cad94d9ffcc511aadcf5078920cee51b96f4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug This issue is about a bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants