<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 13, 2016 at 11:11 AM, 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 09:36, Pranith Kumar
      Karampuri пишет:<br>
    </div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Wed, Jul 13, 2016 at 10:58 AM,
            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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <div>13.07.2016 09:26, Pranith Kumar Karampuri пишет:<br>
                </div>
                <div>
                  <div>
                    <blockquote type="cite">
                      <div dir="ltr"><br>
                        <div class="gmail_extra"><br>
                          <div class="gmail_quote">On Wed, Jul 13, 2016
                            at 10:50 AM, 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: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 09:16, Pranith Kumar
                                  Karampuri пишет:<br>
                                </div>
                                <div>
                                  <div>
                                    <blockquote type="cite">
                                      <div dir="ltr"><br>
                                        <div class="gmail_extra"><br>
                                          <div class="gmail_quote">On
                                            Wed, Jul 13, 2016 at 10:38
                                            AM, 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 09:04,
                                                  Pranith Kumar
                                                  Karampuri пишет:<br>
                                                </div>
                                                <div>
                                                  <div>
                                                    <blockquote type="cite">
                                                      <div dir="ltr"><br>
                                                        <div class="gmail_extra"><br>
                                                          <div class="gmail_quote">On

                                                          Wed, Jul 13,
                                                          2016 at 10:29
                                                          AM, 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
                                                          08:56, Pranith
                                                          Kumar
                                                          Karampuri
                                                          пишет:<br>
                                                          </div>
                                                          <div>
                                                          <div>
                                                          <blockquote type="cite">
                                                          <div dir="ltr"><br>
                                                          <div class="gmail_extra"><br>
                                                          <div class="gmail_quote">On


                                                          Wed, Jul 13,
                                                          2016 at 10:23
                                                          AM, 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

                                                          08:46, 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 10:10
                                                          AM, 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


                                                          08:36, 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 9:35
                                                          AM, 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





                                                          01:52,
                                                          Anuradha Talur
                                                          пишет:<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>
                                                          ----- Original
                                                          Message -----<br>
                                                          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                                          From: &quot;Dmitry
                                                          Melekhov&quot; &lt;<a href="mailto:dm@belkam.com" target="_blank"></a><a href="mailto:dm@belkam.com" target="_blank">dm@belkam.com</a>&gt;<br>
                                                          To: &quot;Pranith
                                                          Kumar
                                                          Karampuri&quot;
                                                          &lt;<a href="mailto:pkarampu@redhat.com" target="_blank"></a><a href="mailto:pkarampu@redhat.com" target="_blank">pkarampu@redhat.com</a>&gt;<br>
                                                          Cc:
                                                          &quot;gluster-users&quot;
                                                          &lt;<a href="mailto:gluster-users@gluster.org" target="_blank"></a><a href="mailto:gluster-users@gluster.org" target="_blank">gluster-users@gluster.org</a>&gt;<br>
                                                          Sent: Tuesday,
                                                          July 12, 2016
                                                          9:27:17 PM<br>
                                                          Subject: Re:
                                                          [Gluster-users]
                                                          3.7.13, index
                                                          healing
                                                          broken?<br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          12.07.2016
                                                          17:39, Pranith
                                                          Kumar
                                                          Karampuri
                                                          пишет:<br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          Wow, what are
                                                          the steps to
                                                          recreate the
                                                          problem?<br>
                                                          <br>
                                                          just set file
                                                          length to
                                                          zero, always
                                                          reproducible.<br>
                                                          <br>
                                                          </blockquote>
                                                          If you are
                                                          setting the
                                                          file length to
                                                          0 on one of
                                                          the bricks
                                                          (looks like<br>
                                                          that is the
                                                          case), it is
                                                          not a bug.<br>
                                                          <br>
                                                          Index heal
                                                          relies on
                                                          failures seen
                                                          from the mount
                                                          point(s)<br>
                                                          to identify
                                                          the files that
                                                          need heal. It
                                                          won&#39;t be able
                                                          to recognize
                                                          any file<br>
                                                          modification
                                                          done directly
                                                          on bricks.
                                                          Same goes for
                                                          heal info
                                                          command which<br>
                                                          is the reason
                                                          heal info also
                                                          shows 0
                                                          entries.<br>
                                                          </blockquote>
                                                          <br>
                                                          </span> Well,
                                                          this makes
                                                          self-heal
                                                          useless then-
                                                          if any file is
                                                          accidently
                                                          corrupted or
                                                          deleted (yes!
                                                          if file is
                                                          deleted
                                                          directly from
                                                          brick this is
                                                          no recognized
                                                          by idex heal
                                                          too), then it
                                                          will not be
                                                          self-healed,
                                                          because
                                                          self-heal uses
                                                          index heal.<span><br>
                                                          </span></blockquote>
                                                          <div><br>
                                                          </div>
                                                          <div>It is
                                                          better to look
                                                          into bit-rot
                                                          feature if you
                                                          want to guard
                                                          against these
                                                          kinds of
                                                          problems.<br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          <br>
                                                          </span> Bit
                                                          rot detects
                                                          bit problems,
                                                          not missing
                                                          files or their
                                                          wrong length,
                                                          i.e. this is
                                                          overhead for
                                                          such simple
                                                          task.<br>
                                                          </div>
                                                          </blockquote>
                                                          <div><br>
                                                          </div>
                                                          <div>It
                                                          detects wrong
                                                          length.
                                                          Because
                                                          checksum won&#39;t
                                                          match anymore.<br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          <br>
                                                          </span> Yes,
                                                          sure. I guess
                                                          that it will
                                                          detect missed
                                                          files too. But
                                                          it needs far
                                                          more
                                                          resources,
                                                          then just
                                                          comparing
                                                          directories in
                                                          bricks?<span><br>
                                                          <blockquote type="cite">
                                                          <div dir="ltr">
                                                          <div class="gmail_extra">
                                                          <div class="gmail_quote">
                                                          <div><br>
                                                          </div>
                                                          <div>What
                                                          use-case you
                                                          are trying out
                                                          is leading to
                                                          changing
                                                          things
                                                          directly on
                                                          the brick?<br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </span> I&#39;m
                                                          trying to test
                                                          gluster
                                                          failure
                                                          tolerance and
                                                          right now I&#39;m
                                                          not happy with
                                                          it...<br>
                                                          </div>
                                                          </blockquote>
                                                          <div><br>
                                                          </div>
                                                          <div>Which
                                                          cases of fault
                                                          tolerance are
                                                          you not happy
                                                          with? Making
                                                          changes
                                                          directly on
                                                          the brick or
                                                          anything else
                                                          as well?<br>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          </div>
                                                          I&#39;ll repeat:<span><br>
                                                          As I already
                                                          said- if I for
                                                          some reason (
                                                          real case  can
                                                          be only by
                                                          accident )
                                                          will delete
                                                          file this will
                                                          not be
                                                          detected by
                                                          self-heal
                                                          daemon, and,
                                                          thus, will
                                                          lead to lower
                                                          replication
                                                          level, i.e.
                                                          lower failure
                                                          tolerance. <br>
                                                          </span></div>
                                                          </blockquote>
                                                          <div><br>
                                                          To prevent
                                                          such accidents
                                                          you need to
                                                          set selinux
                                                          policies so
                                                          that files
                                                          under the
                                                          brick are not
                                                          modified by
                                                          accident by
                                                          any user. At
                                                          least that is
                                                          the solution I
                                                          remember when
                                                          this was
                                                          discussed 3-4
                                                          years back.<br>
                                                          </div>
                                                          </div>
                                                          <br>
                                                        </div>
                                                      </div>
                                                    </blockquote>
                                                  </div>
                                                </div>
                                                So only supported
                                                platfrom is linux? Or,
                                                may be, it is better to
                                                improve self-healing to
                                                detect missing or wrong
                                                length files, I guess
                                                this is very low cost in
                                                terms of host resources
                                                operation.<br>
                                                Just a suggestion, may
                                                be we need to look to
                                                alternatives in near
                                                future....<br>
                                                <br>
                                              </div>
                                            </blockquote>
                                          </div>
                                          This is a corner case, from
                                          design perspective it is
                                          generally not a good idea to
                                          optimize for the corner case.
                                          It is better to protect
                                          ourselves from the corner case
                                          (SElinux etc) or you can also
                                          use snapshots to protect
                                          against these kind of mishaps.<br>
                                        </div>
                                        <div class="gmail_extra"><br>
                                        </div>
                                      </div>
                                    </blockquote>
                                  </div>
                                </div>
                                Sorry, I&#39;m not agree. <br>
                                As you  know if on access missed or
                                wrong lenghted file from fuse client it
                                is restored (healed), i.e. gluster
                                recognizes file is wrong and heal it ,
                                so I do not see any reason to provide
                                this such function as self-healing.<br>
                                Thank you!<br>
                                <br>
                              </div>
                            </blockquote>
                          </div>
                          Ah! Now how do you suggest we keep track of
                          which of 10s of millions of files the user
                          accidentally deleted from the brick without
                          gluster&#39;s knowledge? Once it comes to
                          gluster&#39;s knowledge we can do something. But
                          how does gluster become aware of something it
                          is not keeping track of? At the time you
                          access it gluster knows something went wrong
                          so it restores it. If you change something on
                          the bricks even by accident all the data
                          gluster keeps (similar to journal) is a waste.
                          Even the disk filesystems will ask you to do
                          fsck if something unexpected happens so full
                          self-heal is similar operation.<br>
                        </div>
                      </div>
                    </blockquote>
                    <br>
                  </div>
                </div>
                You are absolutely right- question is why gluster does
                not become aware about such problem is case of
                self-healing?<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>Because the operations that are performed directly on
              brick do not go through gluster stack.<br>
            </div>
            <div> </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br></div></div>
    OK, I&#39;ll repeat-  <br><span class="">
    As you  know if on access missed or wrong lenghted file from fuse
    client it is restored (healed), i.e. gluster recognizes file is
    wrong and heal it , so I do not see any reason to provide this such
    function as self-healing.<br></span></div></blockquote><div><br></div><div>For which you need accessing the file. For which you need full crawl. You can&#39;t detect the modification which doesn&#39;t go through the stack so this is the only possibility. <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>
    </span><blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> <br>
                <blockquote type="cite">
                  <div dir="ltr">
                    <div class="gmail_extra"><br clear="all"><span class="HOEnZb"><font color="#888888">
                      <span><font color="#888888"> <br>
                          -- <br>
                          <div data-smartmail="gmail_signature">
                            <div dir="ltr">Pranith<br>
                            </div>
                          </div>
                        </font></span></font></span></div><span class="HOEnZb"><font color="#888888">
                  </font></span></div><span class="HOEnZb"><font color="#888888">
                </font></span></blockquote><span class="HOEnZb"><font color="#888888">
                <br>
              </font></span></div><span class="HOEnZb"><font color="#888888">
            </font></span></blockquote><span class="HOEnZb"><font color="#888888">
          </font></span></div><span class="HOEnZb"><font color="#888888">
          <br>
          <br clear="all">
          <br>
          -- <br>
          <div data-smartmail="gmail_signature">
            <div dir="ltr">Pranith<br>
            </div>
          </div>
        </font></span></div>
      </div>
    </blockquote>
    <br>
  </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>