<div dir="ltr">Hi,<br><br><div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 12, 2015 at 2:35 AM, Vijay Bellur <span dir="ltr">&lt;<a href="mailto:vbellur@redhat.com" target="_blank">vbellur@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class=""><br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Sachidananda URS&quot; &lt;<a href="mailto:surs@redhat.com">surs@redhat.com</a>&gt;<br>
&gt; To: &quot;Gluster Devel&quot; &lt;<a href="mailto:gluster-devel@gluster.org">gluster-devel@gluster.org</a>&gt;<br>
</span><span class="">&gt; Sent: Friday, December 11, 2015 10:26:04 AM<br>
&gt; Subject: [Gluster-devel] Help needed in understanding GlusterFS logs and debugging elasticsearch failures<br>
&gt;<br>
</span><div><div class="h5">&gt; Hi,<br>
&gt;<br>
&gt; I was trying to use GlusterFS as a backend filesystem for storing the<br>
&gt; elasticsearch indices on GlusterFS mount.<br>
&gt;<br>
&gt; The filesystem operations as far as I can understand is, lucene engine<br>
&gt; does a lot of renames on the index files. And multiple threads read<br>
&gt; from the same file concurrently.<br>
&gt;<br>
&gt; While writing index, elasticsearch/lucene complains of index corruption and<br>
&gt; the<br>
&gt; health of the cluster goes to red, and all the operations on the index fail<br>
&gt; hereafter.<br>
&gt;<br>
&gt; ===================<br>
&gt;<br>
&gt; [2015-12-10 02:43:45,614][WARN ][index.engine             ] [client-2]<br>
&gt; [logstash-2015.12.09][3] failed engine [merge failed]<br>
&gt; org.apache.lucene.index.MergePolicy$MergeException:<br>
&gt; org.apache.lucene.index.CorruptIndexException: checksum failed (hardware<br>
&gt; problem?) : expected=0 actual=6d811d06<br>
&gt; (resource=BufferedChecksumIndexInput(NIOFSIndexInput(path=&quot;/mnt/gluster2/rhs/nodes/0/indices/logstash-2015.12.09/3/index/_a7.cfs&quot;)<br>
&gt; [slice=_a7_Lucene50_0.doc]))<br>
&gt;         at<br>
&gt;         org.elasticsearch.index.engine.InternalEngine$EngineMergeScheduler$1.doRun(InternalEngine.java:1233)<br>
&gt;         at<br>
&gt;         org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)<br>
&gt;         at<br>
&gt;         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)<br>
&gt;         at<br>
&gt;         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)<br>
&gt;         at java.lang.Thread.run(Thread.java:745)<br>
&gt; Caused by: org.apache.lucene.index.CorruptIndexException: checksum failed<br>
&gt; (hardware problem?) : expected=0 actual=6d811d06<br>
&gt; (resource=BufferedChecksumIndexInput(NIOFSIndexInput(path=&quot;/mnt/gluster2/rhs/nodes/0/indices/logstash-2015.12.09/3/index/_a7.cfs&quot;)<br>
&gt; [slice=_a7_Lucene50_0.doc]))<br>
&gt;<br>
&gt; =====================<br>
&gt;<br>
&gt;<br>
&gt; Server logs does not have anything. The client logs is full of messages like:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; [2015-12-03 18:44:17.882032] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-61881676454442626.tlog<br>
&gt; (hash=esearch-replicate-0/cache=esearch-replicate-0) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-311.ckp<br>
&gt; (hash=esearch-replicate-1/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:45:31.276316] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-2384654015514619399.tlog<br>
&gt; (hash=esearch-replicate-0/cache=esearch-replicate-0) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-312.ckp<br>
&gt; (hash=esearch-replicate-0/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:45:31.587660] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/4/translog/translog-4957943728738197940.tlog<br>
&gt; (hash=esearch-replicate-0/cache=esearch-replicate-0) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/4/translog/translog-312.ckp<br>
&gt; (hash=esearch-replicate-0/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:46:48.424605] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-1731620600607498012.tlog<br>
&gt; (hash=esearch-replicate-1/cache=esearch-replicate-1) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-313.ckp<br>
&gt; (hash=esearch-replicate-1/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:46:48.466558] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/4/translog/translog-5214949393126318982.tlog<br>
&gt; (hash=esearch-replicate-1/cache=esearch-replicate-1) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/4/translog/translog-313.ckp<br>
&gt; (hash=esearch-replicate-1/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:48:06.314138] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/4/translog/translog-9110755229226773921.tlog<br>
&gt; (hash=esearch-replicate-0/cache=esearch-replicate-0) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/4/translog/translog-314.ckp<br>
&gt; (hash=esearch-replicate-1/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:48:06.332919] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-5193443717817038271.tlog<br>
&gt; (hash=esearch-replicate-1/cache=esearch-replicate-1) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-314.ckp<br>
&gt; (hash=esearch-replicate-1/cache=&lt;nul&gt;)<br>
&gt; [2015-12-03 18:49:24.694263] I [MSGID: 109066] [dht-rename.c:1410:dht_rename]<br>
&gt; 0-esearch-dht: renaming<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-2750483795035758522.tlog<br>
&gt; (hash=esearch-replicate-1/cache=esearch-replicate-1) =&gt;<br>
&gt; /rhs/nodes/0/indices/logstash-2015.12.03/1/translog/translog-315.ckp<br>
&gt; (hash=esearch-replicate-0/cache=&lt;nul&gt;)<br>
&gt;<br>
&gt; ==============================================================<br>
&gt;<br>
&gt; The same setup works well on any of the disk filesystems.<br>
&gt; This is 2 x 2 distributed-replicate setup:<br>
&gt;<br>
&gt; # gluster vol info<br>
&gt;<br>
&gt; Volume Name: esearch<br>
&gt; Type: Distributed-Replicate<br>
&gt; Volume ID: 4e4b205e-28ed-4f9e-9fa4-0d020428dede<br>
&gt; Status: Started<br>
&gt; Number of Bricks: 2 x 2 = 4<br>
&gt; Transport-type: tcp,rdma<br>
&gt; Bricks:<br>
&gt; Brick1: 10.70.47.171:/gluster/brick1<br>
&gt; Brick2: 10.70.47.187:/gluster/brick1<br>
&gt; Brick3: 10.70.47.121:/gluster/brick1<br>
&gt; Brick4: 10.70.47.172:/gluster/brick1<br>
&gt; Options Reconfigured:<br>
&gt; performance.read-ahead: off<br>
&gt; performance.write-behind: off<br>
&gt;<br>
&gt;<br>
&gt; I need a little bit help in understanding the failures. Let me know if you<br>
&gt; need<br>
&gt; further information on setup or access to the system to debug further. I&#39;ve<br>
&gt; attached the debug logs for further investigation.<br>
&gt;<br>
<br>
<br>
</div></div>Would it be possible to turn off all the performance translators (md-cache, quickread, io-cache etc.) and check if the same problem persists? Collecting strace of the elasticsearch process that does I/O on gluster can also help.<br></blockquote><div><br></div><div>I turned off all the performance xlators. <br><br><br> gluster vol info<br> <br>Volume Name: esearch<br>Type: Distributed-Replicate<br>Volume ID: 4e4b205e-28ed-4f9e-9fa4-0d020428dede<br>Status: Started<br>Number of Bricks: 2 x 2 = 4<br>Transport-type: tcp,rdma<br>Bricks:<br>Brick1: 10.70.47.171:/gluster/brick1<br>Brick2: 10.70.47.187:/gluster/brick1<br>Brick3: 10.70.47.121:/gluster/brick1<br>Brick4: 10.70.47.172:/gluster/brick1<br>Options Reconfigured:<br>performance.stat-prefetch: off<br>performance.md-cache-timeout: 0<br>performance.quick-read: off<br>performance.io-cache: off<br>performance.read-ahead: off<br>performance.write-behind: off<br><br>The problem still persists. Attaching strace logs.<br><br></div><div><br></div><div>-sac<br></div></div></div></div></div>