<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:53:54 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>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-20336] O(N^2) perf regression in listCollections and similar code paths [BLOCKING Mongo 3.0 Adoption]</title>
                <link>https://jira.mongodb.org/browse/SERVER-20336</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Mongo 3 has an O(N^2) perf issue where N is the number of collections in a database.  This is a regression from 2.x.  For our dataset this causes a ~15 minutes hang, making mongo 3 completely unusable.&lt;/p&gt;

&lt;p&gt;The hang can be hit in many ways, including:&lt;br/&gt;
1. When calling db.getCollectionNames().&lt;br/&gt;
2. When starting mongod.&lt;br/&gt;
3. When doing a mongodump.&lt;br/&gt;
4. When a secondary mongod server in a replica set transitions to be primary.&lt;/p&gt;

&lt;p&gt;The O(N^2) nature can be clearly seen by this chart showing measured time to perform a db.getCollectionNames() for a given number of collections.  There&apos;s also an attached graph showing a quadratic best fit.&lt;/p&gt;

&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;Number Collections (in 1000s)&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;list collections time (seconds)&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.164&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;2&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.464&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;4&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;8&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;6.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;16&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;32&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;64&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;439&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&lt;b&gt;Context:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We have a multi-tenant system, where each tenant is served by a new collection.&lt;/li&gt;
	&lt;li&gt;As a result, we have on the order of 100,000 collections in a database.&lt;/li&gt;
	&lt;li&gt;We started upgrading to mongo 3 in our production environment, but ran into this issue (fortunately before we upgraded the primary) and had to do an emergency rollback to 2.6.&lt;/li&gt;
	&lt;li&gt;We&apos;re now stuck on 2.6 for the moment, but extremely eager to get the benefits of mongo 3 to address pressing issues in production.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Can you please acknowledge this bug and provide an estimate for when it can be fixed and released?&lt;/p&gt;</description>
                <environment></environment>
        <key id="229076">SERVER-20336</key>
            <summary>O(N^2) perf regression in listCollections and similar code paths [BLOCKING Mongo 3.0 Adoption]</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.mongodb.org/images/icons/priorities/blocker.svg">Blocker - P1</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="3">Duplicate</resolution>
                                        <assignee username="ramon.fernandez@mongodb.com">Ramon Fernandez Marina</assignee>
                                    <reporter username="mikelehen@google.com">Michael Lehenbauer</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Sep 2015 22:56:04 +0000</created>
                <updated>Fri, 23 Oct 2015 02:13:54 +0000</updated>
                            <resolved>Wed, 9 Sep 2015 23:20:02 +0000</resolved>
                                    <version>3.0.5</version>
                                                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="1068657" author="ramon.fernandez" created="Fri, 23 Oct 2015 02:13:54 +0000"  >&lt;p&gt;Thanks for reporting back &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=katfang&quot; class=&quot;user-hover&quot; rel=&quot;katfang&quot;&gt;katfang&lt;/a&gt;, glad to hear you&apos;re no longer seeing &lt;tt&gt;listCollections&lt;/tt&gt; performance issues on MMAPv1 after  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt; was fixed.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Ram&#243;n.&lt;/p&gt;</comment>
                            <comment id="1067447" author="katfang" created="Wed, 21 Oct 2015 22:52:55 +0000"  >&lt;p&gt;Hi Ramon,&lt;/p&gt;

&lt;p&gt;Just following up. We&apos;ve tested out list collections with 3.0.7 and it seems much faster. &lt;br/&gt;
Our cluster which used to have a list collections time of 25291ms is now 217ms. &lt;br/&gt;
The cluster that used to see minutes of downtime during a list collection now comes back in 330ms.&lt;/p&gt;

&lt;p&gt;Thanks again for the fix.&lt;/p&gt;</comment>
                            <comment id="1056058" author="mikelehen@google.com" created="Thu, 8 Oct 2015 22:38:21 +0000"  >&lt;p&gt;Thanks Ramon!  I haven&apos;t gotten a chance to take a look (bit swamped at the moment), but will let you know once I do.  Thanks for getting the fix through!&lt;/p&gt;

&lt;p&gt;-Michael&lt;/p&gt;</comment>
                            <comment id="1053126" author="ramon.fernandez" created="Tue, 6 Oct 2015 22:33:50 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mikelehen%40google.com&quot; class=&quot;user-hover&quot; rel=&quot;mikelehen@google.com&quot;&gt;mikelehen@google.com&lt;/a&gt;, this is to let you know that we&apos;ve &lt;a href=&quot;https://www.mongodb.org/downloads/#development&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;released release candidate 3.0.7-rc0&lt;/a&gt; today, which includes a fix for this issue (see &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt;). Could you please try out 3.0.7-rc0 and confirm that the performance issues of listCollections have been addressed?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Ram&#243;n.&lt;/p&gt;</comment>
                            <comment id="1027929" author="mikelehen@google.com" created="Fri, 11 Sep 2015 21:02:09 +0000"  >&lt;p&gt;Thanks Ramon!  That will do nicely for us.&lt;/p&gt;

&lt;p&gt;Thanks for following up,&lt;br/&gt;
-Michael&lt;/p&gt;</comment>
                            <comment id="1026627" author="ramon.fernandez" created="Thu, 10 Sep 2015 18:56:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mikelehen&quot; class=&quot;user-hover&quot; rel=&quot;mikelehen&quot;&gt;mikelehen&lt;/a&gt;, after internal discussion we&apos;ve scheduled &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt; for versions 3.1.9 and 3.0.7. You can find more information about the &lt;a href=&quot;https://jira.mongodb.org/plugins/servlet/project-config/SERVER/versions&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;tentative release dates for MongoDB versions here&lt;/a&gt;. Please watch &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt; if you&apos;re interested in further updates.&lt;/p&gt;

&lt;p&gt;If I understand correctly this issue only affects the MMAPv1 storage engine, so one option you may consider is switching to the WiredTiger storage engine offering, among other features, data compression, which may be of interest for multi-tenant users.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Ram&#243;n.&lt;/p&gt;</comment>
                            <comment id="1025842" author="mikelehen@google.com" created="Wed, 9 Sep 2015 23:34:08 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ramon.fernandez&quot; class=&quot;user-hover&quot; rel=&quot;ramon.fernandez&quot;&gt;ramon.fernandez&lt;/a&gt;.  That bug seems to be 4 months old and currently unassigned, yet this is a blocking issue for us.  Can you clarify the timeline for which we could expect to see this fixed in the 3.0 branch?&lt;/p&gt;</comment>
                            <comment id="1025836" author="ramon.fernandez" created="Wed, 9 Sep 2015 23:18:29 +0000"  >&lt;p&gt;Thanks for the additional information &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mikelehen&quot; class=&quot;user-hover&quot; rel=&quot;mikelehen&quot;&gt;mikelehen&lt;/a&gt;. We&apos;re aware of the behavior you describe and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt; is open to fix it. We&apos;re aiming for a fix on the current development cycle; once a fix is ready we&apos;ll evaluate the impact of the backport to the v3.0 branch.&lt;/p&gt;

&lt;p&gt;I&apos;m going to mark this ticket as a duplicate of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt;; feel free to vote for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-18624&quot; title=&quot;listCollections command should not be O(n^2) on MMAPv1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-18624&quot;&gt;&lt;del&gt;SERVER-18624&lt;/del&gt;&lt;/a&gt; and watch it for updates.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Ram&#243;n.&lt;/p&gt;</comment>
                            <comment id="1025829" author="mikelehen@google.com" created="Wed, 9 Sep 2015 23:07:09 +0000"  >&lt;p&gt;We&apos;re using mmap.  Sorry for the omission.&lt;/p&gt;</comment>
                            <comment id="1025826" author="ramon.fernandez" created="Wed, 9 Sep 2015 23:04:54 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mikelehen&quot; class=&quot;user-hover&quot; rel=&quot;mikelehen&quot;&gt;mikelehen&lt;/a&gt;, what storage engine are you using in 3.0?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="205889">SERVER-18624</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="89357" name="listCollectionsGrowth.png" size="25269" author="mikelehen@google.com" created="Wed, 9 Sep 2015 22:56:04 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 9 Sep 2015 23:04:54 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 16 weeks, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 16 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>katfang</customfieldvalue>
            <customfieldvalue>mikelehen@google.com</customfieldvalue>
            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrkv7j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsd093:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10750" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Steps To Reproduce</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Run the following script using a mongo3 shell against a mongo3 mongod.  I&apos;ve reproduced against 3.0.4, 3.0.5, and 3.0.6.&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;conn = new Mongo();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db = conn.getDB(&quot;dummy&quot;);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;var N = 16000;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;print(&apos;Creating collections&apos;);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;for(var i = 0; i &amp;lt; N; i++) {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  db.createCollection(&apos;collection&apos; + i);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;print(&apos;Listing collections.&apos;);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;var start = Date.now();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.getCollectionNames();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;print(&apos;Time to list collections: &apos;, Date.now() - start);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;You should see a time of ~15-30 seconds for the getCollectionNames() call, and it gets much worse as N increases, since it&apos;s O(N^2).  If you run the same script on mongo 2.6, it will complete in &amp;lt; a second, even for large values of N.&lt;/p&gt;

&lt;p&gt;You&apos;ll also see a hang if you restart your mongod server, or do a mongodump, and probably many other operations.&lt;/p&gt;

&lt;p&gt;While db.getCollectionNames() is in progress, any writes will be blocked.&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hsfoj3:</customfieldvalue>

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