Hi,

I'm experimenting with elasticsearch plugins creation and I'm trying to 
create an index (if missing) on plugin startup.

I wanted to ask what is the best place to add the code snippet for code 
creation? I have added it at an injected binding  with Client as 
constructor parameter but i get the following error:

no known master node, scheduling a retry
> [2015-05-26 12:03:27,289][ERROR][bootstrap                ] {1.4.1}: 
> Initialization Failed ...
> 1) UncategorizedExecutionException[Failed execution]
>     ExecutionException[java.lang.NullPointerException]
>         NullPointerException
>

My guess is that Client is not ready yet to handle index creation requests, 
my code snippet is the following:

public class IndexCreator {
>
>     private final String indexName;
>     private final ESLogger LOG;
>
>     @Inject
>     public IndexCreator(Settings settings, Client client) {
>         this.LOG = Loggers.getLogger(getClass(), settings);
>         this.indexName = settings.get("metis.index.name", ".metis");
>         
>
           String indexName = ".metis-registry";
>
>            IndicesExistsResponse resp = 
> client.admin().indices().prepareExists(indexName).get();
>
>            if (!resp.isExists()) {
>                client.admin().indices().prepareCreate(indexName).get();
>            } 
>
    }
> }
>

And I add this as binding to my module

public class MyModule extends AbstractModule {

    private final Settings settings;

    public MyModule(Settings settings) {
        this.settings = Preconditions.checkNotNull(settings);
    }

    @Override
    protected void configure() {
        bind(IndexCreator.class).asEagerSingleton();
    }
}


But it produces the overmentioned error, any ideas?

Thanks,

Thomas

-- 
Please update your bookmarks! We have moved to https://discuss.elastic.co/
--- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/e7616e28-b6aa-45b0-989f-5ee7d55c02ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to