Issue adding master only node -- path.repo not set?


#1

Hi,

I would like to add 3 dedicated master only nodes to my cluster. I'd like to transition my existing master/data nodes to be data node only. However, the first step I took was to try adding a master only node to my cluster (master : true , data : false). I'm seeing the node start and join the cluster as expected, but when the node is initializing I keep seeing the warning shown below in the logs. It references the path.repo setting which we haven't set on any of the other nodes. I don't see this error on the other nodes when I restart them so I'm just wondering what this is? Can this be ignored if we don't care about snapshots? We are running ES 2.4.1.

[2018-02-14 01:22:19,678][WARN ][repositories.fs          ] [es4] The specified location [/snapshots] should start with a repository path specified by the path.repo setting, but the path.repo setting was not set on this node
[2018-02-14 01:22:19,684][WARN ][repositories             ] [es4] failed to create repository [fs][test_backup]
org.elasticsearch.common.inject.CreationException: Guice creation errors:

1) Error injecting constructor, RepositoryException[[test_backup] location [/snapshots] doesn't match any of the locations specified by path.repo because this setting is empty]
  at org.elasticsearch.repositories.fs.FsRepository.<init>(Unknown Source)
  while locating org.elasticsearch.repositories.fs.FsRepository
  while locating org.elasticsearch.repositories.Repository

    1 error
            at org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:360)
            at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:178)
            at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
            at org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:154)
            at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)
        at org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:404)
        at org.elasticsearch.repositories.RepositoriesService.clusterChanged(RepositoriesService.java:299)
        at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:610)
        at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:772)
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

#2

Ok just an update, I restarted one of my other existing master/data nodes and I do see this warning. Ugh sorry, :slight_smile: guess I didn't notice this before. That said, I'm guessing I can ignore this since if I'm not concerned about snapshots?


(David Pilato) #3

Please format your code using </> icon as explained in this guide and not the citation button. It will make your post more readable.

Or use markdown style like:

```
CODE
```

Please edit your post.

You should better remove the settings you added in your elasticsearch.yml file IMO.


#4

Thanks I reformatted the stack trace. I was reading here: https://www.elastic.co/guide/en/elasticsearch/reference/2.0/setup-dir-layout.html

It shows the path.repo setting is empty by default. Since I'm not explicitly setting this value, I think that is why I'm seeing this warning then correct? I'm just wondering if that is ok or if this path.repo should have a default value. Sounds like you are suggesting to set this value? Overall, I don't think I noticed this warning before so it just has me a little more curious now. Thanks again!


(David Pilato) #5

path.repo should not be set if not used.
It does not have a default value AFAIK:


#6

Thank you!!