<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 13, 2016 at 3:09 PM, Dmitry Melekhov <span dir="ltr">&lt;<a href="mailto:dm@belkam.com" target="_blank">dm@belkam.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>13.07.2016 13:24, Pranith Kumar
      Karampuri пишет:<br>
    </div><span class="">
    <blockquote type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Wed, Jul 13, 2016 at 2:50 PM,
            Dmitry Melekhov <span dir="ltr">&lt;<a href="mailto:dm@belkam.com" target="_blank"></a><a href="mailto:dm@belkam.com" target="_blank">dm@belkam.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">
              <div bgcolor="#FFFFFF" text="#000000">
                <div>13.07.2016 13:10, Pranith Kumar Karampuri пишет:<br>
                </div>
                <span>
                  <blockquote type="cite">
                    <div dir="ltr"><br>
                      <div class="gmail_extra"><br>
                        <div class="gmail_quote">On Wed, Jul 13, 2016 at
                          2:25 PM, Dmitry Melekhov <span dir="ltr">&lt;<a href="mailto:dm@belkam.com" target="_blank"></a><a href="mailto:dm@belkam.com" target="_blank">dm@belkam.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">13.07.2016

                            11:40, Pranith Kumar Karampuri пишет:<span><br>
                              <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
                                You recipe doesn&#39;t work :-(  If there is
                                difference between bricks directories
                                due to direct brick manipulation it
                                leads to problems.<br>
                                <br>
                                You have to execute &quot;gluster volume heal
                                &lt;volname&gt; full&quot; for triggering
                                full heal.<br>
                                <br>
                              </blockquote>
                            </span> yeah, but I need to know that I need
                            to execute it.<br>
                            any help from gluster or only external
                            script?<br>
                            <br>
                            <br>
                          </blockquote>
                        </div>
                        I guess it is not too difficult to set up
                        cron/systemd.timer to run this command once in a
                        while right?</div>
                    </div>
                  </blockquote>
                  <br>
                </span> Too difficult? No. <br>
                So you are suggesting to run heal full by cron? Right?<br>
                Really, I don&#39;t know how much resources this full heal
                may need in real installations.<br>
                If not much- why self-heal doesn&#39;t call it?<span><br>
                </span></div>
            </blockquote>
            <div><br>
            </div>
            <div>Because we don&#39;t expect people to touch the bricks. For
              a corner case it doesn&#39;t make sense to keep doing full
              filesystem scan. But we do provide the CLI for people who
              want it.<br>
            </div>
            <div> </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br></span>
    Well, why run heal every 10 minutes if no problems are expected?<br></div></blockquote><div><br></div><div>What we realized is that sometimes people run into space/quota exceeded problems which lead to pending heals so it is better to run index heal once every some minutes.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    From your link:<br>
    <h1><br>
    </h1>
    <p>The index heal is done:<br>
      a) Every 600 seconds (can be changed via the <code>cluster.heal-timeout</code>
      volume option)<br>
      b) When it is explicitly triggered via the <code>gluster vol heal
        &lt;VOLNAME&gt;</code> command<br>
      c) Whenever a replica brick that was down comes back up. <br>
    </p>
    <br>
    As I can understand, this index heal runs once per volume, not on
    specific node, this is why there is self-heal daemon,<br>
    otherwise this can be achieved by cron. If I have node with cron
    down, then I&#39;ll get no full heal, I can, definitely, run next full
    heal on different node by cron :-)<span class=""><br>
    <br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"><span> <br>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div class="gmail_extra"> What script do you need
                        to write? I didn&#39;t get you.<br>
                      </div>
                      <div class="gmail_extra"><br clear="all">
                      </div>
                    </div>
                  </blockquote>
                  <br>
                </span> Which compares bricks directories, and, if it
                there is real need- it alerts me, I can run heal full
                or, may be, just trigger files heal by reading some
                files over fuse.<br>
                Could you , please, tell me how heal full works and why
                it is not part of self-heal process?<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>You can read more about it at: <a href="https://github.com/gluster/glusterfs/blob/master/doc/developer-guide/afr-self-heal-daemon.md" target="_blank"></a><a href="https://github.com/gluster/glusterfs/blob/master/doc/developer-guide/afr-self-heal-daemon.md" target="_blank">https://github.com/gluster/glusterfs/blob/master/doc/developer-guide/afr-self-heal-daemon.md</a><br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Thank you!<br></span>
    I think it will be wise to add full heal interval to self-heal
    daemon.<span class=""><br></span></div></blockquote><div><br></div><div>This may not be a bad idea. Want to raise an RFE bug?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class="">
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> <br>
                Thank you!<span><font color="#888888"><br>
                    <br>
                    <blockquote type="cite">
                      <div dir="ltr">
                        <div class="gmail_extra"><br>
                          -- <br>
                          <div data-smartmail="gmail_signature">
                            <div dir="ltr">Pranith<br>
                            </div>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                    <br>
                  </font></span></div>
            </blockquote>
          </div>
          <br>
          <br clear="all">
          <br>
          -- <br>
          <div data-smartmail="gmail_signature">
            <div dir="ltr">Pranith<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </span></div>

</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Pranith<br></div></div>
</div></div>