When the client runs as a non-root user, e.g. user tom, keyValueSystem.createStore will result a store directory whose user & group are empty, e.g.
Then AccessControlException will happen when we write something to it, e.g. writer.put("a", "aaa"); we 'll get an AccessControlException
alluxio.exception.AccessControlException: Permission denied: user=tom, access=-w-, path=/kvs/store1/part-00000: failed at store1, inode owner=, inode group=, inode mode=rwxr-xr-x
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at alluxio.exception.AlluxioException.fromThrift(AlluxioException.java:92)
at alluxio.AbstractClient.retryRPC(AbstractClient.java:353)
at alluxio.client.file.FileSystemMasterClient.createFile(FileSystemMasterClient.java:147)
at alluxio.client.file.BaseFileSystem.createFile(BaseFileSystem.java:101)
at alluxio.client.keyvalue.KeyValuePartitionWriter$Factory.create(KeyValuePartitionWriter.java:55)
at alluxio.client.keyvalue.BaseKeyValueStoreWriter.put(BaseKeyValueStoreWriter.java:125)
Thanks.