[ 
https://issues.apache.org/jira/browse/ACCUMULO-3923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15308736#comment-15308736
 ] 

Josh Elser commented on ACCUMULO-3923:
--------------------------------------

bq. I found a blog post from two years ago, but it doesn't cover anything about 
KeywordExecutable.

KeywordExecutable is the Google AutoService stuff that [~ctubbsii] wired up for 
most (all?) of the `accumulo <foo>` commands. The interface defines the mapping 
from "<foo>" to some class "org.apache.accumulo.core.Foo" to run. IIRC, you 
don't need to know anything else about how it works. Just do the minimal 
installation using the local filesystem (accumulo-start.jar) and put everything 
else into hdfs (or any other VFS compatible filesystem) and running 
aforementioned command ({{accumulo classpath}}) should function. The problem 
was that ServiceLoader (used by Google's AutoService) wasn't finding the 
service definition files that were stored on the jars being accessed via VFS. 
Does that help?

> VFS ClassLoader doesnt' work with KeywordExecutable
> ---------------------------------------------------
>
>                 Key: ACCUMULO-3923
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3923
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Josh Elser
>            Priority: Critical
>             Fix For: 1.7.2, 1.8.0
>
>
> Trying to make the VFS classloading stuff work and it doesn't seem like 
> ServiceLoader is finding any of the KeywordExecutable implementations.
> Best I can tell after looking into this, VFSClassLoader (created by 
> AccumuloVFSClassLoader) has all of the jars listed as resources, but when 
> ServiceLoader tries to find the META-INF/services definitions, it returns 
> nothing, and thus we think the keyword must be a class name. Seems like a 
> commons-vfs bug.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to