<p dir="auto">I posted <a href="http://stackoverflow.com/questions/33860130/is-there-a-way-to-stream-translog-changes-out-of-elasticsearch" rel="nofollow">this question</a> to Stack Overflow the other day and have gotten no responses:</p>
<blockquote>
<p dir="auto">In some systems, there are ways to hook in to write-ahead log changes as they happen. For example, in HBase one can write a <a href="https://hbase.apache.org/testdevapidocs/org/apache/hadoop/hbase/coprocessor/SampleRegionWALObserver.html" rel="nofollow">coprocessor</a> to stream WAL edits out of the database as they happen. <a href="https://github.com/confluentinc/bottledwater-pg">A extensions for PostgreSQL</a> exist that lets you do the same thing.</p>
<p dir="auto">I've Googled and I've not found a way to harness the Elasticsearch translog. I've looked at the plugin APIs but not found anything that lets you get at the translog. Is there a way?</p>
</blockquote>
<p dir="auto">The analyze api currently hangs when e.g. you refer to a custom analyzer and you forget to specify the index in the url. I remember from previous versions a nice "analyzer not found" error but that now (2.0) just hangs and the logs show:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[2015-12-02 15:27:46,621][ERROR][transport                ] [Smart Alec] failed to handle exception for action [indices:admin/analyze[s]], handler [org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$1@41c75d23]
java.lang.NullPointerException
    at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.perform(TransportSingleShardAction.java:195)
    at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.access$700(TransportSingleShardAction.java:115)
    at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$1.handleException(TransportSingleShardAction.java:174)
    at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:821)
    at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:799)
    at org.elasticsearch.transport.TransportService$4.onFailure(TransportService.java:361)
    at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:42)
    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)"><pre class="notranslate"><code class="notranslate">[2015-12-02 15:27:46,621][ERROR][transport                ] [Smart Alec] failed to handle exception for action [indices:admin/analyze[s]], handler [org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$1@41c75d23]
java.lang.NullPointerException
    at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.perform(TransportSingleShardAction.java:195)
    at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.access$700(TransportSingleShardAction.java:115)
    at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$1.handleException(TransportSingleShardAction.java:174)
    at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:821)
    at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:799)
    at org.elasticsearch.transport.TransportService$4.onFailure(TransportService.java:361)
    at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:42)
    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)
</code></pre></div>