<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:08:20 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-5254] dependency order of libraries is causing unnecessary relinking</title>
                <link>https://jira.mongodb.org/browse/SERVER-5254</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;If you look at &quot;scons --debug=explain&quot;, it shows the ordering of the libraries is not consistent across invocations:&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;old: [&apos;build/linux2/normal/mongo/db/db.o&apos;, &apos;build/linux2/normal/mongo/db/compact.o&apos;, &apos;/usr/bin/g++&apos;, &apos;/usr/lib64/libm.so&apos;, &apos;/usr/lib64/libpthread.so&apos;, &apos;build/linux2/normal/third_party/murmurhash3/libmurmurhash3.a&apos;, &apos;build/linux2/normal/mongo/libmongocommon.a&apos;, &apos;build/linux2/normal/third_party/libpcrecpp.a&apos;, &apos;build/linux2/normal/third_party/libmongo_boost.a&apos;, &apos;build/linux2/normal/mongo/libcoredb.a&apos;, &apos;build/linux2/normal/mongo/libdbcmdline.a&apos;, &apos;build/linux2/normal/mongo/libcoreshard.a&apos;, &apos;build/linux2/normal/mongo/libdefaultversion.a&apos;, &apos;build/linux2/normal/mongo/libserveronly.a&apos;, &apos;build/linux2/normal/mongo/libcoreserver.a&apos;, &apos;build/linux2/normal/third_party/pcre-8.30/libpcrecpp.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_system.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_thread.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_filesystem.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_program_options.a&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;   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;new: [&apos;build/linux2/normal/mongo/db/db.o&apos;, &apos;build/linux2/normal/mongo/db/compact.o&apos;, &apos;/usr/bin/g++&apos;, &apos;/usr/lib64/libm.so&apos;, &apos;/usr/lib64/libpthread.so&apos;, &apos;build/linux2/normal/mongo/libmongocommon.a&apos;, &apos;build/linux2/normal/third_party/libpcrecpp.a&apos;, &apos;build/linux2/normal/third_party/murmurhash3/libmurmurhash3.a&apos;, &apos;build/linux2/normal/mongo/libcoredb.a&apos;, &apos;build/linux2/normal/third_party/libmongo_boost.a&apos;, &apos;build/linux2/normal/mongo/libdbcmdline.a&apos;, &apos;build/linux2/normal/mongo/libcoreshard.a&apos;, &apos;build/linux2/normal/mongo/libdefaultversion.a&apos;, &apos;build/linux2/normal/mongo/libserveronly.a&apos;, &apos;build/linux2/normal/mongo/libcoreserver.a&apos;, &apos;build/linux2/normal/third_party/pcre-8.30/libpcrecpp.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_system.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_thread.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_filesystem.a&apos;, &apos;build/linux2/normal/third_party/boost/libboost_program_options.a&apos;]&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</description>
                <environment></environment>
        <key id="32529">SERVER-5254</key>
            <summary>dependency order of libraries is causing unnecessary relinking</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</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="9">Done</resolution>
                                        <assignee username="schwerin@mongodb.com">Andy Schwerin</assignee>
                                    <reporter username="milkie@mongodb.com">Eric Milkie</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Mar 2012 18:07:28 +0000</created>
                <updated>Mon, 11 Jul 2016 18:35:42 +0000</updated>
                            <resolved>Fri, 30 Mar 2012 17:27:47 +0000</resolved>
                                    <version>2.1.1</version>
                                                    <component>Build</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="163625" author="auto" created="Wed, 12 Sep 2012 19:49:18 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-09-07T10:16:24-07:00&apos;, u&apos;email&apos;: u&apos;Andy Schwerin schwerin@10gen.com&apos;, u&apos;name&apos;: u&apos;Andrew Schwerin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-6960&quot; title=&quot;Build system produces incorrect debugsymbols archive&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-6960&quot;&gt;&lt;del&gt;SERVER-6960&lt;/del&gt;&lt;/a&gt; Always link object files and static archives in the same order.&lt;/p&gt;

&lt;p&gt;SCons (correctly) considers two link command lines different if the order of&lt;br/&gt;
object files or static libraries changes.  As a result, the libdeps system needs&lt;br/&gt;
to produce consistent ordering of these files in the $_LIBDEPS expansion.  This&lt;br/&gt;
patch achieves this by sorting the _LIBDEPS candidate expansion by the string&lt;br/&gt;
name of the expanded objects.&lt;/p&gt;

&lt;p&gt;This problem is akin to that from &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-5254&quot; title=&quot;dependency order of libraries is causing unnecessary relinking&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-5254&quot;&gt;&lt;del&gt;SERVER-5254&lt;/del&gt;&lt;/a&gt;, which was solved in a similar&lt;br/&gt;
manner.&lt;br/&gt;
Branch: v2.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/bebd9195c40c4b61b1858061e4e0709c1f4121ae&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/bebd9195c40c4b61b1858061e4e0709c1f4121ae&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="161710" author="auto" created="Fri, 7 Sep 2012 18:19:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-09-07T10:16:24-07:00&apos;, u&apos;name&apos;: u&apos;Andrew Schwerin&apos;, u&apos;email&apos;: u&apos;Andy Schwerin schwerin@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-6960&quot; title=&quot;Build system produces incorrect debugsymbols archive&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-6960&quot;&gt;&lt;del&gt;SERVER-6960&lt;/del&gt;&lt;/a&gt; Always link object files and static archives in the same order.&lt;/p&gt;

&lt;p&gt;SCons (correctly) considers two link command lines different if the order of&lt;br/&gt;
object files or static libraries changes.  As a result, the libdeps system needs&lt;br/&gt;
to produce consistent ordering of these files in the $_LIBDEPS expansion.  This&lt;br/&gt;
patch achieves this by sorting the _LIBDEPS candidate expansion by the string&lt;br/&gt;
name of the expanded objects.&lt;/p&gt;

&lt;p&gt;This problem is akin to that from &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-5254&quot; title=&quot;dependency order of libraries is causing unnecessary relinking&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-5254&quot;&gt;&lt;del&gt;SERVER-5254&lt;/del&gt;&lt;/a&gt;, which was solved in a similar&lt;br/&gt;
manner.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/645aa497732e829fd43092f02102ac37cc3a8b08&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/645aa497732e829fd43092f02102ac37cc3a8b08&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="105555" author="milkie" created="Mon, 2 Apr 2012 02:52:35 +0000"  >&lt;p&gt;This is amazing &amp;#8211; the &quot;tool&quot; suite now takes 5 minutes, 41 seconds on Windows with this fix in action (it was taking &amp;gt; 56 minutes before).&lt;/p&gt;</comment>
                            <comment id="105272" author="auto" created="Fri, 30 Mar 2012 17:27:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;andy10gen&apos;, u&apos;email&apos;: u&apos;schwerin@10gen.com&apos;, u&apos;name&apos;: u&apos;Andy Schwerin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-5254&quot; title=&quot;dependency order of libraries is causing unnecessary relinking&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-5254&quot;&gt;&lt;del&gt;SERVER-5254&lt;/del&gt;&lt;/a&gt;: Make LIBDEPS dependency order stable across SCons invocations.&lt;/p&gt;

&lt;p&gt;Turns out that SCons.Node objects are compared on object identity (pointer),&lt;br/&gt;
not some value that&apos;s stable across invocations of SCons.  We now sort by&lt;br/&gt;
the &quot;name&quot; of the node (its string representation), instead, which stops&lt;br/&gt;
spurious builds.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5455f1d95c232c92647e3e0cfda4f52b28a08ef7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5455f1d95c232c92647e3e0cfda4f52b28a08ef7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="105182" author="milkie" created="Fri, 30 Mar 2012 14:31:07 +0000"  >&lt;p&gt;Note that this is severely affecting our build times.  For example, the Windows 64 bit builder takes 56 minutes to complete the &quot;tool&quot; test suite, even though it only spends 6 minutes actually running tests.  The remainder of the time is wasted by superfluous invocations of the linker.&lt;/p&gt;</comment>
                            <comment id="97383" author="milkie" created="Fri, 9 Mar 2012 22:01:30 +0000"  >&lt;p&gt;Confirmed, they are different &amp;#8211; the order of .o files.&lt;/p&gt;</comment>
                            <comment id="97372" author="schwerin" created="Fri, 9 Mar 2012 21:34:54 +0000"  >&lt;p&gt;I&apos;m not going to get to this until sometime next week, at the earliest.  If you have a chance, verify that the command lines for the links are also different?&lt;/p&gt;</comment>
                            <comment id="97371" author="milkie" created="Fri, 9 Mar 2012 21:31:20 +0000"  >&lt;p&gt;There was a discussion of this recently, which ended in someone filing a bug with scons:&lt;br/&gt;
&lt;a href=&quot;http://scons.tigris.org/ds/viewMessage.do?dsForumId=1268&amp;amp;dsMessageId=2850490&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://scons.tigris.org/ds/viewMessage.do?dsForumId=1268&amp;amp;dsMessageId=2850490&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&quot;Dependency order problem, rebuilds due to incorrect implicit dependencies&quot;&lt;br/&gt;
&lt;a href=&quot;http://scons.tigris.org/issues/show_bug.cgi?id=2811&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://scons.tigris.org/issues/show_bug.cgi?id=2811&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not sure that we&apos;ll be able to work around this.  It&apos;s unfortunate because our link times on Windows are exceptionally long.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 9 Mar 2012 21:34:54 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        11 years, 23 weeks 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>
                            11 years, 23 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </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>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hroa9b:</customfieldvalue>

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

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

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