<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:03:41 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-6838] update llog become too big before it is destroyed</title>
                <link>https://jira.whamcloud.com/browse/LU-6838</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Update llog might be too big before it is destroyed&lt;/p&gt;

&lt;p&gt;So with current llog destroy implementation.&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;/* returns negative on error; 0 if success; 1 if success &amp;amp; log destroyed */
int llog_cancel_rec(const struct lu_env *env, struct llog_handle *loghandle,
                    int index)
{
............
        if ((llh-&amp;gt;llh_flags &amp;amp; LLOG_F_ZAP_WHEN_EMPTY) &amp;amp;&amp;amp;
            (llh-&amp;gt;llh_count == 1) &amp;amp;&amp;amp;
            (loghandle-&amp;gt;lgh_last_idx == LLOG_HDR_BITMAP_SIZE(llh) - 1)) {
                rc = llog_destroy(env, loghandle);
                if (rc &amp;lt; 0) {
                        /* Sigh, can not destroy the final plain llog, but
                         * the bitmap has been clearly, so the record can not
                         * be accessed anymore, let&apos;s return 0 for now, and
                         * the orphan will be handled by LFSCK. */
                        CERROR(&quot;%s: can&apos;t destroy empty llog #&quot;DOSTID
                               &quot;#%08x: rc = %d\n&quot;,
                               loghandle-&amp;gt;lgh_ctxt-&amp;gt;loc_obd-&amp;gt;obd_name,
                               POSTID(&amp;amp;loghandle-&amp;gt;lgh_id.lgl_oi),
                               loghandle-&amp;gt;lgh_id.lgl_ogen, rc);
                        RETURN(0);
                }
                RETURN(LLOG_DEL_PLAIN);
        }      
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So with llog chunk size = 32K, the LLOG_HDR_BITMAP_SIZE() will be It 261375, so the llog update record object will be destroyed until all of its bitmap is &quot;FULL&quot;, the size will be about (each record will be about 3K, even more with bigger stripe_count)&lt;/p&gt;

&lt;p&gt;261375 * 3k = 760M. &lt;/p&gt;

&lt;p&gt;So we probably should destroy the llog object earlier, instead of waiting all of bits are being filled.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="31056">LU-6838</key>
            <summary>update llog become too big before it is destroyed</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="di.wang">Di Wang</assignee>
                                    <reporter username="di.wang">Di Wang</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 Jul 2015 07:50:15 +0000</created>
                <updated>Sat, 17 Dec 2016 14:10:41 +0000</updated>
                            <resolved>Sat, 17 Dec 2016 14:10:41 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.10.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="121103" author="adilger" created="Sun, 12 Jul 2015 03:39:58 +0000"  >&lt;p&gt;This doesn&apos;t explain why it is bad that the llog file is large?&lt;/p&gt;</comment>
                            <comment id="121108" author="di.wang" created="Sun, 12 Jul 2015 16:01:38 +0000"  >&lt;p&gt;Well the update log might cost a lot MDT space. And these update records will not be really deleted until all of bitmaps has been &quot;used&quot; according to current llog implementation.&lt;/p&gt;

&lt;p&gt;1. the space will be used up by update log in a small size MDT.&lt;br/&gt;
2. the user might complain see several GB of  MDT space usage, even there are no dirs/files.&lt;/p&gt;
</comment>
                            <comment id="139165" author="gerrit" created="Mon, 18 Jan 2016 07:22:15 +0000"  >&lt;p&gt;Alex Zhuravlev (alexey.zhuravlev@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18028&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18028&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6838&quot; title=&quot;update llog become too big before it is destroyed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6838&quot;&gt;&lt;del&gt;LU-6838&lt;/del&gt;&lt;/a&gt; llog: limit file size&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d050cac02a90e8f18f079554339fe593ec2319d9&lt;/p&gt;</comment>
                            <comment id="178187" author="gerrit" created="Sat, 17 Dec 2016 05:35:51 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/18028/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/18028/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6838&quot; title=&quot;update llog become too big before it is destroyed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6838&quot;&gt;&lt;del&gt;LU-6838&lt;/del&gt;&lt;/a&gt; llog: limit file size of plain logs&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 4724b52bba54ccdb0f81d0c63010b69e87e7f65c&lt;/p&gt;</comment>
                            <comment id="178240" author="pjones" created="Sat, 17 Dec 2016 14:10:41 +0000"  >&lt;p&gt;Landed for 2.10&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="31033">LU-6831</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="41264">LU-8794</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzxi0f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>