<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:45:21 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-81059] everything now includes &lt;boost/preprocessor/control/iif.hpp&gt;</title>
                <link>https://jira.mongodb.org/browse/SERVER-81059</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;An include for a rather obscure boost preprocessor header has been added by the IWYU sweep, to over 1500 c++ source files.&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;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: gray; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;#include &amp;lt;boost/preprocessor/control/iif.hpp&amp;gt;&lt;/span&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;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;I don&apos;t really understand why IWYU would do this to a file like&lt;br/&gt;
&quot;src/mongo/db/commands/server_status_metric.h&quot;, which doesn&apos;t have any macros inside it at all. It seems like IWYU made a mistake here and it should be undone.&lt;/p&gt;

&lt;p&gt;I think maybe one of the other headers needs something from the iif.hpp header and IWYU didn&apos;t resolve that dependency appropriately.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2441812">SERVER-81059</key>
            <summary>everything now includes &lt;boost/preprocessor/control/iif.hpp&gt;</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="13201">Fixed</resolution>
                                        <assignee username="billy.donahue@mongodb.com">Billy Donahue</assignee>
                                    <reporter username="billy.donahue@mongodb.com">Billy Donahue</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Sep 2023 23:29:22 +0000</created>
                <updated>Sun, 29 Oct 2023 21:16:22 +0000</updated>
                            <resolved>Sun, 24 Sep 2023 02:06:13 +0000</resolved>
                                                    <fixVersion>7.2.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5726387" author="xgen-internal-githook" created="Sat, 23 Sep 2023 23:51:55 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Billy Donahue&apos;, &apos;email&apos;: &apos;billy.donahue@mongodb.com&apos;, &apos;username&apos;: &apos;BillyDonahue&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-81059&quot; title=&quot;everything now includes &amp;lt;boost/preprocessor/control/iif.hpp&amp;gt;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-81059&quot;&gt;&lt;del&gt;SERVER-81059&lt;/del&gt;&lt;/a&gt; bulk-revert of include of boost iif.hpp&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/eced867739c05384f20dbebdcde50916d9ab8420&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/eced867739c05384f20dbebdcde50916d9ab8420&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5705916" author="JIRAUSER1274619" created="Thu, 14 Sep 2023 23:49:51 +0000"  >&lt;p&gt;It looks like it&apos;s getting triggered by &quot;invariant()&quot; since it uses &quot;BOOST_PP_OVERLOAD&quot;, which eventually expands to use BOOST_PP_IIF_0: &lt;a href=&quot;https://github.com/10gen/mongo/blob/master/src/mongo/util/assert_util_core.h#L106&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo/blob/master/src/mongo/util/assert_util_core.h#L106&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;```&lt;br/&gt;
[ Exiting to ] src/mongo/db/commands/server_status_metric.h:44:1&lt;br/&gt;
[ Use macro ] src/mongo/db/commands/server_status_metric.h:172:5: invariant (from src/mongo/util/assert_util_core.h:105:9)&lt;br/&gt;
[ Use macro ] src/mongo/db/commands/server_status_metric.h:172:5 &amp;lt;Spelling=&amp;lt;scratch space&amp;gt;:197:1&amp;gt;: BOOST_PP_IIF_0 (from src/third_party/boost/boost/preprocessor/control/iif.hpp:31:10)&lt;br/&gt;
[ Use macro ] src/mongo/db/commands/server_status_metric.h:172:5 &amp;lt;Spelling=&amp;lt;scratch space&amp;gt;:198:1&amp;gt;: MONGO_invariant_1 (from src/mongo/util/assert_util_core.h:65:9)&lt;br/&gt;
[ Use macro ] src/mongo/db/commands/server_status_metric.h:173:5: invariant (from src/mongo/util/assert_util_core.h:105:9)&lt;br/&gt;
[ Use macro ] src/mongo/db/commands/server_status_metric.h:173:5 &amp;lt;Spelling=&amp;lt;scratch space&amp;gt;:202:1&amp;gt;: BOOST_PP_IIF_0 (from src/third_party/boost/boost/preprocessor/control/iif.hpp:31:10)&lt;br/&gt;
[ Use macro ] src/mongo/db/commands/server_status_metric.h:173:5 &amp;lt;Spelling=&amp;lt;scratch space&amp;gt;:203:1&amp;gt;: MONGO_invariant_1 (from src/mongo/util/assert_util_core.h:65:9)&lt;br/&gt;
[ Exiting to ] src/mongo/db/commands/server_status_metric.cpp:31:1&lt;br/&gt;
```&lt;/p&gt;

&lt;p&gt;Probably a bug in IWYU where it believes that assert_util_core.h is exporting BOOST_PP_IIF_0 and server_status_metric.h (among others) are calling it directly.&lt;/p&gt;

&lt;p&gt;I created &lt;a href=&quot;https://github.com/10gen/mongo/pull/15633&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo/pull/15633&lt;/a&gt; to skip over it, but it&apos;s still pretty annoying since the way we&apos;re using iwyu seems to require us to create a comment in every file that ignores it.&lt;/p&gt;</comment>
                            <comment id="5702766" author="billy.donahue" created="Wed, 13 Sep 2023 23:36:19 +0000"  >&lt;p&gt;The file defines macros beginning with &lt;tt&gt;BOOST_PP_IIF&lt;/tt&gt;.&lt;br/&gt;
We only use these in platform/visibility.h and we include the header there.&lt;/p&gt;

&lt;p&gt;But boost uses &lt;tt&gt;BOOST_PP_IIF&lt;/tt&gt; extensively internally.&lt;br/&gt;
Presumably all boost headers are also correctly including this thing when they use it, so it&apos;s really unclear why the IWYU pass would have added this everywhere.&lt;/p&gt;

&lt;p&gt;I think we should just do a trivial &quot;grep and destroy&quot; to back this out.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                                                <inwardlinks description="is caused by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2449861">SERVER-81394</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25130"><![CDATA[Server Development Platform]]></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>Thu, 14 Sep 2023 23:48:30 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        19 weeks, 4 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            19 weeks, 4 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>billy.donahue@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>zack.winter@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2qh3z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr1lyx:9</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7616">Service Arch 2023-10-02</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|i2q39b:</customfieldvalue>

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