<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:46:28 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-59139] Refactor of boost multiprecision 128 to abseil</title>
                <link>https://jira.mongodb.org/browse/SERVER-59139</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="1842407">SERVER-59139</key>
            <summary>Refactor of boost multiprecision 128 to abseil</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="13201">Fixed</resolution>
                                        <assignee username="luke.bhan@mongodb.com">Luke Bhan</assignee>
                                    <reporter username="luke.bhan@mongodb.com">Luke Bhan</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Aug 2021 16:04:18 +0000</created>
                <updated>Sun, 29 Oct 2023 21:49:51 +0000</updated>
                            <resolved>Mon, 16 Aug 2021 14:48:54 +0000</resolved>
                                                    <fixVersion>5.1.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="4107810" author="JIRAUSER1259052" created="Wed, 6 Oct 2021 18:36:56 +0000"  >&lt;p&gt;Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it&#8217;s been triggered. For more active release information, please keep an eye on #server-release. Thank you!&lt;/p&gt;</comment>
                            <comment id="3998688" author="xgen-internal-githook" created="Thu, 12 Aug 2021 21:45:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;lukebhan&apos;, &apos;email&apos;: &apos;luke.bhan@vanderbilt.edu&apos;, &apos;username&apos;: &apos;lukebhan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59139&quot; title=&quot;Refactor of boost multiprecision 128 to abseil&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59139&quot;&gt;&lt;del&gt;SERVER-59139&lt;/del&gt;&lt;/a&gt; refactor to use abseil for int128&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/691d4c3db4b13c60a1c4cd3e210de4c983f186b3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/691d4c3db4b13c60a1c4cd3e210de4c983f186b3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3993078" author="billy.donahue" created="Tue, 10 Aug 2021 18:08:12 +0000"  >&lt;p&gt;Yes I agree we shouldn&apos;t write our own. The absl library will use a native 128-bit integer extension if it exists, which is nice. I just wish they didn&apos;t incorrectly mess with std::numeric_limits. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/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; And the boost::multiprecision flaw was surprising to me. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/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="3992989" author="JIRAUSER1260433" created="Tue, 10 Aug 2021 17:43:08 +0000"  >&lt;p&gt;&lt;a href=&quot;https://mongodbcr.appspot.com/822640002/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodbcr.appspot.com/822640002/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3992966" author="JIRAUSER1260433" created="Tue, 10 Aug 2021 17:38:21 +0000"  >&lt;p&gt;I see your point. Currently, I wrote the CR with absl::Int128Max(), but I see how down the line it can be confusing. However, Id rather then use them over writing our own library and I think &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=henrik.edin&quot; class=&quot;user-hover&quot; rel=&quot;henrik.edin&quot;&gt;henrik.edin&lt;/a&gt;&#160;would agree.&#160;&lt;/p&gt;</comment>
                            <comment id="3992589" author="billy.donahue" created="Tue, 10 Aug 2021 15:42:17 +0000"  >&lt;p&gt;I&apos;m not sure what you mean by &quot;true 128 bits&quot;, but I see that boost&apos;s docs have:&lt;/p&gt;

&lt;p&gt;&quot;The type uses a sign-magnitude representation internally, so type int128_t has 128-bits of precision plus an extra sign bit. In this respect the behaviour of these types differs from fundamental (built-in) 2&apos;s complement types. In might be tempting to use a 127-bit type instead, and indeed this does work, but behaviour is still slightly different from a 2&apos;s complement fundamental (built-in) type as the minimum and maximum values are identical (apart from the sign), where as they differ by one for a true 2&apos;s complement type. That said it should be noted that there&apos;s no requirement for fundamental_types to be 2&apos;s complement either - it&apos;s simply that this is the most common format by far.&quot;&lt;/p&gt;

&lt;p&gt;Which sounds hard to work with. Not 2&apos;s complement.&lt;br/&gt;
It&apos;s regrettable that we have to take a further dependence on absl though . But that&apos;s life.&lt;br/&gt;
Thanks for your response.&lt;/p&gt;

&lt;p&gt;I&apos;d like to minimize our dependence on Abseil as they are loose with standards compliance.&lt;br/&gt;
For example, they specialize &lt;tt&gt;std::numeric_limits&amp;lt;absl::int128_t&amp;gt;&lt;/tt&gt; and this is not appropriate to do according to the standard, as &lt;tt&gt;absl::uint128&lt;/tt&gt; is not an &quot;arithmetic type&quot; according to C++&apos;s definition of that term.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/master/src/third_party/abseil-cpp-master/abseil-cpp/absl/numeric/int128.h#L255&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/master/src/third_party/abseil-cpp-master/abseil-cpp/absl/numeric/int128.h#L255&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3992549" author="JIRAUSER1260433" created="Tue, 10 Aug 2021 15:31:21 +0000"  >&lt;p&gt;Actually yes. We originally used boost 128; however, Boost int128 stores an int as a true 128 bits instead of 127+signed which makes casting quite horrendous. (The zigzag as is would fail miserably). There is actually an open ticket to refactor which 822600001 is rebased on. (&lt;a href=&quot;https://mongodbcr.appspot.com/822600001/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodbcr.appspot.com/822600001/&lt;/a&gt;)&lt;/p&gt;</comment>
                            <comment id="3992542" author="billy.donahue" created="Tue, 10 Aug 2021 15:28:58 +0000"  >&lt;p&gt;Re: &lt;a href=&quot;https://mongodbcr.appspot.com/822600001/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodbcr.appspot.com/822600001/&lt;/a&gt;&lt;br/&gt;
Is absl::int128 better than boost::multiprecision::int128?&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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.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>Tue, 10 Aug 2021 15:28:58 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 18 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_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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-2278</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>
                            2 years, 18 weeks 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>luke.bhan@mongodb.com</customfieldvalue>
            <customfieldvalue>vivian.ge@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzw9lz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzgglb:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="5116">Execution Team 2021-08-09</customfieldvalue>
    <customfieldvalue id="5117">Execution Team 2021-08-23</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|hzvvuv:</customfieldvalue>

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