<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:24:16 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-2325] ZFS object creation is slow, causing many &quot;Slow creates&quot; messages</title>
                <link>https://jira.whamcloud.com/browse/LU-2325</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;What is the usefulness of these messages:&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;Nov 13 16:29:07 grove402 kernel: Lustre: lstest-OST0192: Slow creates, 128/512 objects created at a rate of 2/s
Nov 13 16:42:05 grove402 kernel: Lustre: lstest-OST0192: Slow creates, 128/256 objects created at a rate of 2/s
Nov 13 16:48:25 grove501 kernel: Lustre: lstest-OST01f5: Slow creates, 128/512 objects created at a rate of 2/s
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We see them constantly, and my assumption is they&apos;re due to normal load on the system. If that&apos;s the case, they should be removed.&lt;/p&gt;</description>
                <environment></environment>
        <key id="16677">LU-2325</key>
            <summary>ZFS object creation is slow, causing many &quot;Slow creates&quot; messages</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="prakash">Prakash Surya</reporter>
                        <labels>
                            <label>shh</label>
                    </labels>
                <created>Wed, 14 Nov 2012 14:50:42 +0000</created>
                <updated>Tue, 23 Jul 2013 19:33:28 +0000</updated>
                            <resolved>Thu, 17 Jan 2013 12:47:17 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="47803" author="bzzz" created="Wed, 14 Nov 2012 14:53:45 +0000"  >&lt;p&gt;I&apos;d consider this as a bad sign.. 2 creates/second (even under a load) doesn&apos;t sound very nice. but you&apos;re the customer &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="47807" author="prakash" created="Wed, 14 Nov 2012 15:43:39 +0000"  >&lt;p&gt;Generally I would agree as it does sound unreasonably low, but it&apos;s happening constantly on production and development machines (with different hardware and different applications).&lt;/p&gt;</comment>
                            <comment id="47809" author="morrone" created="Wed, 14 Nov 2012 16:16:27 +0000"  >&lt;p&gt;Alex, if you are not seeing that, then you guys really need to take a hard look at your testing strategy.&lt;/p&gt;</comment>
                            <comment id="47811" author="morrone" created="Wed, 14 Nov 2012 16:21:27 +0000"  >&lt;p&gt;And for all of these messages that we are opening tickets on, we do need to understand the problem, not just remove the message without investigating why they are happening.  There are many, many messages that need attention.&lt;/p&gt;</comment>
                            <comment id="47813" author="prakash" created="Wed, 14 Nov 2012 16:40:04 +0000"  >&lt;p&gt;Right, my intention is to only remove the messages once the root cause is understood and deemed not worthy of a console message. I can change the wording to be more inquisitive if you think that&apos;s better?&lt;/p&gt;</comment>
                            <comment id="49253" author="adilger" created="Fri, 14 Dec 2012 14:46:55 +0000"  >&lt;p&gt;It would be useful to find out where in the code it is taking so long.  The main possible point of contention I can think of is the RW locks on the parent directories, which are unfortunately locked only inside the ZAP and could not be held once at the start of precreate batch and all objects within that parent created at one time, as I had thought to do for ldiskfs at times.&lt;/p&gt;

&lt;p&gt;Another possible point of contention is if the precreate batch is creating such a large transaction that it causes the declarations to stall waiting for enough space to precreate all of the objects in the batch.  It is possible to change the batch size via &lt;tt&gt;lctl set_param ofd.*.precreate_batch=32&lt;/tt&gt; or similar (temporarily only, on all OSSes) to see whether the problem goes away.  If the batch is made larger (e.g. 256), it will hide the message (since it can only possibly be hit on the second time through the precreate loop) but it won&apos;t necessarily tell us why the creates are slow.&lt;/p&gt;</comment>
                            <comment id="49258" author="prakash" created="Fri, 14 Dec 2012 16:41:39 +0000"  >&lt;p&gt;Well, actually, I was able to correlate some of those messages on Grove to ZIO delays reported by &lt;tt&gt;zpool events&lt;/tt&gt;. I dug a little deeper using &lt;tt&gt;blktrace&lt;/tt&gt; and determined certain IO requests were getting starved in the IO scheduler. We were using the CFQ scheduler, but have just moved to using NOOP for our ZFS OSTs and MDS (which &lt;em&gt;should&lt;/em&gt; have been the case all along). We also see this message on our production ldiskfs file systems, which probably suffer from the same CFQ scheduler starvation issue.&lt;/p&gt;

&lt;p&gt;More investigation is needed to determine if we see these messages on Grove using the NOOP scheduler.&lt;/p&gt;</comment>
                            <comment id="50633" author="bzzz" created="Thu, 17 Jan 2013 01:45:03 +0000"  >&lt;p&gt;Andreas, ZAP does use hashed locks internally, so I&apos;d think locking should not be a problem.&lt;br/&gt;
there is stats counting evens causing txg to close. probably makes sense to check there.&lt;br/&gt;
on my local system, with 2GB storage and 4GB RAM txg overflow happens pretty often if the number of concurrent threads is more than 8&lt;br/&gt;
and happens all the time with 32+ threads.&lt;/p&gt;
</comment>
                            <comment id="50634" author="bzzz" created="Thu, 17 Jan 2013 01:45:38 +0000"  >&lt;p&gt;Prakash, any new observations since the system is using NOOP ?&lt;/p&gt;</comment>
                            <comment id="50665" author="prakash" created="Thu, 17 Jan 2013 10:25:58 +0000"  >&lt;p&gt;Back when I was testing for this on Grove, using NOOP seemed to help considerably. With CFQ, I would sporadically see specific ZIOs take hundreds of seconds to complete, whereas none would take longer than second with NOOP.&lt;/p&gt;

&lt;p&gt;Also, grep&apos;ing the console logs on Grove, I see the &quot;Slow creates&quot; message only twice since changing to NOOP. Whereas I see it hundreds of times in the older logs.&lt;/p&gt;

&lt;p&gt;I don&apos;t believe we&apos;ve switched to using NOOP on our ldiskfs systems yet.&lt;/p&gt;</comment>
                            <comment id="50679" author="bzzz" created="Thu, 17 Jan 2013 11:39:24 +0000"  >&lt;p&gt;thanks. so what&apos;s your opinion on this issue? should we keep the ticket open?&lt;/p&gt;</comment>
                            <comment id="50691" author="prakash" created="Thu, 17 Jan 2013 12:39:55 +0000"  >&lt;p&gt;Let&apos;s go ahead and close this. If we still see these on ldiskfs once we switch over to noop or deadline, we can re-evaluate what the problem might be.&lt;/p&gt;

&lt;p&gt;And just for future reference, I&apos;m working on getting a patch landed to set the &quot;correct&quot; scheduler for ldiskfs automatically at mount time: &lt;a href=&quot;http://review.whamcloud.com/4853&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4853&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="50693" author="bzzz" created="Thu, 17 Jan 2013 12:47:17 +0000"  >&lt;p&gt;given the specific symptom described in the ticket seem to be fixed, I&apos;m closing this one. to track and resolve rather slow object creation with zfs backend let&apos;s use more generic ticket &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2476&quot; title=&quot;poor OST file creation rate performance with zfs backend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2476&quot;&gt;&lt;del&gt;LU-2476&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="50765" author="adilger" created="Fri, 18 Jan 2013 00:31:28 +0000"  >&lt;p&gt;Just to clarify in this ticket to close out the issue, the upstream ZFS Git repo had a patch to automatically change the underlying block devices to use &quot;noop&quot; scheduler since zfs-0.5.2-61-g6839eed.  There was an additional fix in zfs-0.6.0-rc12-30-g84daadd to ensure that &quot;noop&quot; was also set as the scheduler for DM devices.&lt;/p&gt;

&lt;p&gt;I can&apos;t imagine that Grove was running zfs-0.5.2 as recently as two months ago, so either you were running ZFS on DM devices, or there is something wrong in the code from commit 6839eed?  Presumably, since Prakash pushed 84daadd only 4h after narrowing it down to the CFQ elevator, that you are running ZFS on DM devices (for multipath)?&lt;/p&gt;</comment>
                            <comment id="50768" author="morrone" created="Fri, 18 Jan 2013 01:14:40 +0000"  >&lt;p&gt;Yes, you are correct, we&apos;re using DM for multipath.  Each OSS has two IB links, one to each of two controllers on in the NetApp enclosure.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="16294">LU-2122</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="16297">LU-2125</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|hzvc93:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5556</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>