<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:16:47 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>[CDRIVER-2957] Consider adding an option to disable all alignment specifiers</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2957</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Despite &lt;tt&gt;-DENABLE_EXTRA_ALIGNMENT=OFF&lt;/tt&gt; being a general improvement over our default large alignment specifiers (&lt;tt&gt;bson_t&lt;/tt&gt; aligned at 128 bytes), users still run into issues with the alignment specifiers (e.g. &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2880&quot; title=&quot;Struct alignment is less then the default packing size on Windows x86 builds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2880&quot;&gt;&lt;del&gt;CDRIVER-2880&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;It seems tricky to get the alignment specifiers right in all situations. And I&apos;m doubtful that we get any measurable performance improvements by changing alignment.&lt;/p&gt;

&lt;p&gt;I think we should:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Run an experiment (perhaps with our benchmark suite) to see if turning off alignment entirely results in any performance drop.&lt;/li&gt;
	&lt;li&gt;If not, let&apos;s add a cmake option, like &lt;tt&gt;DISABLE_ALIGNMENT&lt;/tt&gt; that removes alignment specifiers entirely.&lt;/li&gt;
	&lt;li&gt;Document that users should configure with this option.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="687149">CDRIVER-2957</key>
            <summary>Consider adding an option to disable all alignment specifiers</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="kevin.albertson@mongodb.com">Kevin Albertson</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Feb 2019 02:11:23 +0000</created>
                <updated>Thu, 18 Jun 2020 18:23:22 +0000</updated>
                            <resolved>Thu, 18 Jun 2020 18:23:22 +0000</resolved>
                                                                    <component>libbson</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3063707" author="kevin.albertson" created="Thu, 30 Apr 2020 22:53:10 +0000"  >&lt;p&gt;Breaking ABI through the use of cmake options may be a bad practice. It increases the likelihood of multiple ABI incompatible versions of libbson being used. For example, if a user links libbson with alignment disabled, then links libfoo that statically links libbson with alignment enabled, runtime symbol resolution for libbson symbols could go to either library depending on the order of linking. If they&apos;re ABI incompatible, I believe this could cause a runtime crash.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="631423">CDRIVER-2880</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr7dcn:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>