<p dir="auto"><strong>Elasticsearch version</strong>: 5.0.0-alpha5</p>
<p dir="auto"><strong>Plugins installed</strong>: []</p>
<p dir="auto"><strong>JVM version</strong>: Oracle Java 1.8.0_102</p>
<p dir="auto"><strong>OS version</strong>: Windows 10 x86_64</p>
<p dir="auto"><strong>Description of the problem including expected versus actual behavior</strong>:</p>
<p dir="auto">When switching from 5.0.0-alpha4 to 5.0.0-alpha5, existing elasticsearch.yml stopped working, with what appears as an impossible error to bypass.  I expect the node to startup, but the PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="169380692" data-permission-text="Title is private" data-url="https://github.com/elastic/elasticsearch/issues/19803" data-hovercard-type="pull_request" data-hovercard-url="/elastic/elasticsearch/pull/19803/hovercard" href="https://github.com/elastic/elasticsearch/pull/19803">#19803</a> seems to completely change the logic for starting a new Node object.</p>
<p dir="auto">With my working in 5.0.0-alpha4 configuration, with 5.0.0-alpha5, I get this exception:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Exception in thread &quot;main&quot; java.lang.IllegalArgumentException: Unknown [transport] type [] possible values: [local]
    at org.elasticsearch.common.util.ExtensionPoint$SelectedType.bindType(ExtensionPoint.java:151)
    at org.elasticsearch.common.network.NetworkModule.configure(NetworkModule.java:154)"><pre class="notranslate"><code class="notranslate">Exception in thread "main" java.lang.IllegalArgumentException: Unknown [transport] type [] possible values: [local]
    at org.elasticsearch.common.util.ExtensionPoint$SelectedType.bindType(ExtensionPoint.java:151)
    at org.elasticsearch.common.network.NetworkModule.configure(NetworkModule.java:154)
</code></pre></div>
<p dir="auto">I have to add <code class="notranslate">transport.type: local</code> because the default isn't detecting <code class="notranslate">local</code>.  Then, once i've added <code class="notranslate">transport.type</code>, I get this exception:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Exception in thread &quot;main&quot; java.lang.IllegalArgumentException: Unknown [http_transport] type [] possible values: []
    at org.elasticsearch.common.util.ExtensionPoint$SelectedType.bindType(ExtensionPoint.java:151)
    at org.elasticsearch.common.network.NetworkModule.configure(NetworkModule.java:159)"><pre class="notranslate"><code class="notranslate">Exception in thread "main" java.lang.IllegalArgumentException: Unknown [http_transport] type [] possible values: []
    at org.elasticsearch.common.util.ExtensionPoint$SelectedType.bindType(ExtensionPoint.java:151)
    at org.elasticsearch.common.network.NetworkModule.configure(NetworkModule.java:159)
</code></pre></div>
<p dir="auto">To get past this error, i can change <code class="notranslate">http.enabled</code> to <code class="notranslate">false</code>, which I don't want to do, but it seems that previous "working" is no longer the case.</p>
<p dir="auto">As for expected result, I'd ideally expect previous defaults to work.  If that isn't possible, it would be beneficial to provide better error messages as I have no clue why <code class="notranslate">http_transport</code> is being output if <code class="notranslate">http.enabled: true</code>.  Also breaking changes for 5.0 should be updated for embedded users.</p>
<p dir="auto"><strong>Steps to reproduce</strong>:<br>
I setup a sample maven project to recreate this issue and included the relevant sections below.<br>
<a href="https://github.com/ruckc/elasticsearch-embedded-issue">https://github.com/ruckc/elasticsearch-embedded-issue</a></p>
<p dir="auto">elasticsearch.yml:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="network.host: 127.0.0.1
http.port: 9200
http.enabled: true
gateway.expected_nodes: 1
cluster.routing.allocation.disk.watermark.low: 512mb
cluster.routing.allocation.disk.watermark.high: 256mb
path.data: target/test/testdata2
path.home: target/test"><pre class="notranslate"><code class="notranslate">network.host: 127.0.0.1
http.port: 9200
http.enabled: true
gateway.expected_nodes: 1
cluster.routing.allocation.disk.watermark.low: 512mb
cluster.routing.allocation.disk.watermark.high: 256mb
path.data: target/test/testdata2
path.home: target/test
</code></pre></div>
<p dir="auto">sample main method:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    public static void main(String... args) throws IOException {
        try (InputStream is = Main.class.getResourceAsStream(&quot;/elasticsearch.yml&quot;)) {
            Settings settings = Settings.builder().loadFromStream(&quot;elasticsearch.yml&quot;, is).build();

            Node node = new Node(settings);
            node.start();
        }
    }"><pre class="notranslate"><code class="notranslate">    public static void main(String... args) throws IOException {
        try (InputStream is = Main.class.getResourceAsStream("/elasticsearch.yml")) {
            Settings settings = Settings.builder().loadFromStream("elasticsearch.yml", is).build();

            Node node = new Node(settings);
            node.start();
        }
    }
</code></pre></div>
<p dir="auto">Sort by a column of type 'short' throws an exception</p>