github / elasticsearch-srv-discovery

Elasticsearch discovery with SRV records
MIT License
34 stars 33 forks source link

Support ES 2.x #24

Open chrismwendt opened 8 years ago

chrismwendt commented 8 years ago

There's a nearly finished WIP in #22 with a few small kinks to be ironed out.

digitalkaoz commented 8 years ago

any news on supporting recent ES versions?

chrismwendt commented 8 years ago

@digitalkaoz Unfortunately, I haven't made any progress on the WIP in #22 since I created it because I'm not very familiar with the Java ecosystem. If you're willing to take a stab at jumping the few remaining hurdles, go for it!

By the way, there's a $15 bounty on this issue: https://www.bountysource.com/issues/32043561-support-es-2-x

falencastro commented 8 years ago

Looks like these guys got it working: https://github.com/crate/crate/tree/master/dns-discovery

chrismwendt commented 8 years ago

Thanks, @falencastro! I submitted a proposal to combine efforts with Crate https://github.com/crate/crate/issues/3670

falencastro commented 8 years ago

Btw with some minor adjustments I got the plugin to run on ES 2.2.2 and 2.3.3, but either with this code or crate's code, it apparently gets stuck while instantiating a new org.xbill.DNS.Lookup object, as the second logger doesn't get printed and I receive this message:

[2016-06-24 15:23:49,360][WARN ][discovery                ] [hostname] waited for 30s and no initial state was set by the discovery

At src/main/java/org/elasticsearch/discovery/srv/SrvUnicastHostsProvider.java

protected List<Record> lookupRecords(String query, int type) throws TextParseException {
    logger.trace ("lookupRecords, query: {} type {}", query, type);
        Lookup lookup = new Lookup(query, type);
    logger.trace ("lookup succesfull");

        if (this.resolver != null) {
            lookup.setResolver(this.resolver);
        }

        Record[] records = lookup.run();
        return records == null ? new ArrayList<Record>() : Arrays.asList(records);
    }
chrismwendt commented 8 years ago

@falencastro Wonderful! Would you like to submit a PR that we could iterate on?

Could you try stepping into the Lookup constructor in a debugger to determine which line it gets stuck on?

hcguersoy commented 8 years ago

Hi Folks, any progress on this stuff?

BTW, I'm currently running into an error complaining about a missing file which is needed in ES 2.x:

Verifying https://github.com/github/elasticsearch-srv-discovery/archive/1.5.1.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
ERROR: Could not find plugin descriptor 'plugin-descriptor.properties' in plugin zip
Error installing SRV plugin. Maybe it is allready installed.

Update: the reason for this error is explained here: https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugin-authors.html