RANGER-2620:Create empty Role cache file when no roles are present in ranger yet
Signed-off-by: rmani <rmani@hortonworks.com>
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
index 5ba3cca..38ba6cf 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
@@ -33,6 +33,8 @@
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
+import java.util.Date;
+import java.util.HashSet;
public class RangerRolesProvider {
@@ -255,7 +257,12 @@
}
}
} else {
- LOG.warn("cache file does not exist or not readable '" + (cacheFile == null ? null : cacheFile.getAbsolutePath()) + "'");
+ rangerRoles = new RangerRoles();
+ rangerRoles.setServiceName(serviceName);
+ rangerRoles.setRoleVersion(-1L);
+ rangerRoles.setRoleUpdateTime(new Date());
+ rangerRoles.setRangerRoles(new HashSet<>());
+ saveToCache(rangerRoles);
}
if (LOG.isDebugEnabled()) {