It appears that as of HBASE-1936, we now require that client applications
have write access to hbase.local.dir. This is because ProtobufUtil
instantiates a DyanamicClassLoader as part of static initialization. This
classloader is used for instantiating Comparators, Filters, and Exceptions.
If this is indeed intended (ie, we want to support dynamically loading on
the client side for these objects), we need to update the documentation
I think this is in fact not the intention for application ("edge") clients.
My supposition is that a client application will explicitly provide their
own dependencies and they aren't loading anything from
It is probably necessary for clients instantiated on a RS though.
What say you? Is this a documentation issue, or should be attempt to
disentangle the DynamicClassLoader from client-side use?