Please back out your change of setting dfs.datanode.data.dir.perm to 755. I believe this issue is fixed in
HDFS-1560. Instead, please change the hadoop-test dependency in start/pom.xml to 1.1.0. I talked with Eric about changing the hadoop dependency from 0.20.205 to 1.1.0 for Accumulo 1.5. I talked with Keith yesterday and I believe he is past the directory permission issue, he is now running into another issue that has to do with the configuration of his computer.
•In AccumuloVFSClassLoader and AccumuloClassLoader the methods replaceEnvVars(), addUrl(), findAccumuloURLs(), etc. look very similar. Are these methods just copies? If not, what is the essence of the diffs?
If I remember correctly, they are copies of methods in AccumuloClassLoader. I did not want to extend AccumuloClassLoader as I do not know its lifetime.
•Seems like unit test AccumuloContextClassLoaderTest would benefit from using two seprate jars. The same jar is loaded into two different context. Seems like it would be better to load two different jars with different classes. Then verify that each context contains only the expected classes and nothing else.
I was testing that the same jar/class was in fact being loaded by two different classloaders, and were therefore different classes. I will add your test suggestions to my to-do list.
I believe that the discussion around which contexts are supported is a separate discussion. I can think of several different scenarios in which contexts could be defined: per user, per table, per scan session, per minc/majc session, per application, etc. Regarding the heirarchy of the context classloader, I can see Keiths point above, and would also counter with a different scenario. Say for example that I wanted to run different versions (api compatible of course) of the Accumulo iterators on my table. The current setup would allow me to run a 1.5.0 tablet server and 1.5.1 iterators on my table. I can do this because the context classloader for my application is not a child of the system classloader. Changing the context classloader to be a child of the system classloader is a very small change.