-
Notifications
You must be signed in to change notification settings - Fork 456
Remove deprecated AccumuloVFSClassLoader #3136
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
Conversation
start/src/main/java/org/apache/accumulo/start/classloader/vfs/ContextManager.java
Outdated
Show resolved
Hide resolved
start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/apache/accumulo/core/classloader/ClassLoaderUtil.java
Outdated
Show resolved
Hide resolved
start/src/main/java/org/apache/accumulo/start/classloader/vfs/ContextManager.java
Outdated
Show resolved
Hide resolved
core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
Outdated
Show resolved
Hide resolved
minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloConfigImpl.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
start/src/main/java/org/apache/accumulo/start/classloader/vfs/ContextManager.java
Outdated
Show resolved
Hide resolved
I started taking a peak at this again and I should hopefully have time to update with the changes requested this upcoming week at some point. |
@ctubbsii and @dlmarion - I just pushed a new update and I have significantly reworked the PR. There's still work to be done...comments need updating, some tests still need fixing and to be updated, and there is still some old VFS references laying around, etc. But it's in a good enough state to be looked at again to make sure this new direction is correct before I finish polishing everything up. The latest update now implements the agreed upon behavior of just re-using the existing 2 properties If not specified the |
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 didn't look at the tests yet. My thought on that is that only the tests that were testing the table context need to remain, the tests that were testing the VFSClassLoader as the system classloader can probably be removed.
core/src/main/java/org/apache/accumulo/core/classloader/DefaultContextClassLoaderFactory.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/apache/accumulo/core/classloader/DefaultContextClassLoaderFactory.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
This latest commit also fixes tests, cleans up comments and renames DefaultContextClassloaderFactory to URLContextClassLoaderFactory
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
shell/src/main/java/org/apache/accumulo/shell/commands/ClasspathCommand.java
Outdated
Show resolved
Hide resolved
...c/main/java/org/apache/accumulo/core/file/blockfile/cache/impl/BlockCacheManagerFactory.java
Outdated
Show resolved
Hide resolved
I also think it would be good to compare the before/after on the shell's classpath command and the bin/accumulo classpath command to make sure we didn't lose anything important in the output options. |
Something else I realized is I forgot to test this against https://github.com/apache/accumulo-classloaders to verify we can still use the VFS classloader using this new approach. That's something I will do as well (assuming the full IT tests pass and everything is good) |
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.
Looks good to me, one comment and one question
core/src/main/java/org/apache/accumulo/core/classloader/URLContextClassLoaderFactory.java
Show resolved
Hide resolved
I ran the full ITs and noticed just 1 failure in |
This tests VFS class reloading which has been removed
I think this is ready to go, I pushed more updates including removing the broken ClassLoaderIT that was failing as that no loner applies (it only was there to test the VFS reloading) and I also removed the no longer needed code from the Main start class that also only applied to VFS. I spent a bunch of time testing to make sure the VFS classloader worked with the changes by using the accumulo-classloaders project and seems to be working well. I used these instructions https://github.com/apache/accumulo-classloaders/blob/main/modules/vfs-class-loader/TESTING.md and I tested against Uno. I tested both Setting a system classloader as well as using a context using the new instructions and properties. A couple changes will be needed to the documentation to the instructions page (property rename for the table context, need to mention to make sure to add the commons VFS jar since it was removed from 3.0.0) otherwise the testing instructions are pretty much up to date. I can submit a small PR with the changes probably tomorrow. I kicked off another full IT so this should be ready to merge if that passes. |
Full IT build passed all the tests for this, I also just pushed a PR to update testing instructions for accumulo-classloaders: apache/accumulo-classloaders#17 @ctubbsii - I think this is ready to merge, did you want to do a final review? |
You merged while I was giving it another lookover, but I don't see anything that stands out. I think you addressed all the previous things I noticed. |
Sorry about that, it had been about a week so figured it was good to go since @dlmarion said it looked good. I also figured if we found something after that needed fixing I could go back and fix it with a follow on PR. |
No worries. You did the right thing. I was merely observing the coincidence. That we both were looking at it in the same few minutes after a week of inaction was amusing to me 😁 |
This PR is to resolve issue #3131 as the VFS classloader has been pulled out into an external project https://github.com/apache/accumulo-classloaders . All references to the VFS classloader have been removed (including properties, documentation, tests, etc). The classloader can still be used if desired by configuring the property
GENERAL_CONTEXT_CLASSLOADER_FACTORY
to use the VFS classloader that was pulled into the external project.