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

Scans experience contention on global classloader lock when creating iterators #1730

Closed
keith-turner opened this issue Oct 8, 2020 · 2 comments
Labels
bug This issue has been verified to be a bug.

Comments

@keith-turner
Copy link
Contributor

Describe the bug
In the past when running test against Accumulo w/ lots of concurrent scans and profiling tablets servers, the static synchronization around class loading was something that showed up in profiling data. Every scan uses class loaders to create iterators and this static synchronization causes locking contention between scans.

I think the following code is called to create iterator classes and is where the contention occurred.

public static synchronized <U> Class<? extends U> loadClass(String classname, Class<U> extension)

Versions (OS, Maven, Java, and others, as appropriate):

  • Affected version(s) of this project: [1.9.x,1.10.0,2.0.0]

Expected behavior
Scans should be able to create iterator classes w/o obtaining a global classloader lock.

@keith-turner keith-turner added the bug This issue has been verified to be a bug. label Oct 8, 2020
@ctubbsii ctubbsii added this to To do in 2.1.0 via automation Oct 8, 2020
@dlmarion
Copy link
Contributor

In #1715 I modified how classes are loaded and all of the server side code uses ClassLoaderUtil.loadClass() which is not synchonized. If the table has a context defined, the loadClass operation is not synchronized either. Without a context the code still uses AccumuloVFSClassLoader.loadClass and will be synchronized until it's removal in a future release.

@ctubbsii ctubbsii removed this from To do in 2.1.0 Oct 24, 2022
@ctubbsii
Copy link
Member

I don't think this is a problem if these classes are going away. I'll close this, but if I've misunderstood, then please reopen.

@ctubbsii ctubbsii closed this as not planned Won't fix, can't repro, duplicate, stale Oct 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue has been verified to be a bug.
Projects
None yet
Development

No branches or pull requests

3 participants