Failed to read roles file %s skipping all roles – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 8.4-8.9

Briefly, this error occurs when Elasticsearch is unable to read the roles file, which is crucial for defining user access permissions. This could be due to incorrect file permissions, a missing file, or a syntax error in the file. To resolve this issue, you can check if the roles file exists and is in the correct location. If it does, ensure that Elasticsearch has the necessary permissions to read the file. Lastly, validate the syntax of the file to ensure there are no errors that could prevent it from being read correctly.

This guide will help you check for common problems that cause the log ” failed to read roles file [%s]. skipping all roles… ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.

Log Context

Log “failed to read roles file [%s]. skipping all roles…” classname is
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                            roles.put(descriptor.getName(); descriptor);
            } catch (IOException ioe) {
                logger.error(() -> format("failed to read roles file [%s]. skipping all roles..."; path.toAbsolutePath()); ioe);
                return emptyMap();
        } else {
            logger.debug("roles file does not exist");
            return emptyMap();