KAFKA-15203 Use Classgraph since org.reflections is no longer under maintainence#16604
KAFKA-15203 Use Classgraph since org.reflections is no longer under maintainence#16604gharris1727 merged 15 commits intoapache:trunkfrom
Conversation
|
Relevant ticket: https://issues.apache.org/jira/browse/KAFKA-15203 |
|
Special thanks to @cushon for helping me fix the problems with the switch! |
|
Test failures in other modules seems irrelevant. |
gharris1727
left a comment
There was a problem hiding this comment.
Thanks @PARADOXST for the PR!
I was under the impression that we were going to be stuck with reflections for a long time, so this is nice to see.
|
I verified that this can discover all of the plugins that the reflections library could find, so this can be a drop-in replacement. I did notice that it appears much slower than reflections, by about 3x in my environment with 250 plugins. While this isn't a dealbreaker (service_load is already recommended for performance reasons) perhaps there are still some easy wins for optimization. @PARADOXST it's up to you if you're interested in doing an optimization pass, or we could just leave it as-is. |
PARADOXST
left a comment
There was a problem hiding this comment.
Regarding #16604 (comment): I have replaced enableAllInfo() with enableClassInfo() which should be of some improvements. I am happy to look at further perf improvement as a follow-up.
|
@gharris1727 Hi Greg, can you take another look? |
gharris1727
left a comment
There was a problem hiding this comment.
LGTM, thanks @PARADOXST !
I'm still seeing a performance degradation with this swap-out, but as I mentioned earlier I don't think it's a blocker.
|
Test failures appear unrelated. |
This is a continuity of #9048 that was paused ~4yrs ago.
https://github.com/ronmamo/reflections is no longer under maintenance and we should switch to
https://github.com/classgraph/classgraph that is more actively maintained and developped.
Committer Checklist (excluded from commit message)