-
Notifications
You must be signed in to change notification settings - Fork 14k
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
KAFKA-14466: Move ClassloaderAwareRemoteStorageManager to storage module #13013
Conversation
@junrao Please review when you get a chance. |
...in/java/org/apache/kafka/server/log/remote/storage/ClassLoaderAwareRemoteStorageManager.java
Outdated
Show resolved
Hide resolved
…and exception type as suggested in the review.
Thanks @ijuma for your review. Addressed them with the latest commit. |
* @param <E> Exception type to be thrown | ||
*/ | ||
@FunctionalInterface | ||
public interface ClassLoaderAction<T, E extends Exception> { |
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.
I hadn't realised this is used by multiple classes. Since it is, maybe we can move this to the internals
package and call it simply StorageAction
or something like that. I can then use it within one of the index classes too.
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.
I set the name as RemoteStorageAction
as it was meant for any remote storage actions. I though you wanted this to be classloader specific in your earlier comment. I am fine with renaming it to StorageAction
so that it can be reused for any storage specific operations.
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.
Yeah, my original suggestion assumed it would be used within one class. I didn't realize we had multiple "ClassLoaderAware" classes. Once it's a top level interface, it seems better to keep it general. Thanks.
package org.apache.kafka.server.log.remote.storage; | ||
|
||
/** | ||
* This interface is used to execute any remote storage/metadata related operation. |
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.
Let's update this comment to make this general to any storage
action.
…fka.server.log.internals package in storage module
Thanks @ijuma for your review. Addressed them with the latest commit. |
Thanks. I'll take a look soon. |
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.
LGTM, thanks.
Test failures are unrelated. |
…ule (apache#13013) Reviewers: Ismael Juma <[email protected]>
Committer Checklist (excluded from commit message)