<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:36:39 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>[GODRIVER-1557] Improve SetCompressors documentation</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-1557</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;UPDATED DESCRIPTION:&lt;/p&gt;

&lt;p&gt;The &lt;tt&gt;SetCompressors&lt;/tt&gt; documentation makes it seem like there is user action required to enable compression server-side, but this is not true because the server has compression enabled by default. There&apos;s some small docs changes we can make here to improve the wording.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;ORIGINAL DESCRIPTION:&lt;/p&gt;

&lt;p&gt;I just noticed that you can enable compression on connections. The docs make it appear as if this requires special server config to enable but `mongod` actually has all compressors enabled by default even though the older ones are prefferred over newer ones.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;I propose pending any potential perf or other issues related to the current implementation that we match the default server config and enable compressors by default. I think the tests might need to be changed to explicitly disable compression though. The readme says that is their default and I&apos;m not sure how much they depend on that since they are testing driver code.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;ie change from empty slice to `[]string{&quot;snappy&quot;,&quot;zstd&quot;,&quot;zlib&quot;}`&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo/options?tab=doc#ClientOptions.SetCompressors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo/options?tab=doc#ClientOptions.SetCompressors&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Any thoughts on if this would break anything? I would think it&apos;d be a good performance boost in most cases.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="1306103">GODRIVER-1557</key>
            <summary>Improve SetCompressors documentation</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="divjot.arora@mongodb.com">Divjot Arora</assignee>
                                    <reporter username="epelc@greatcloak.com">Ed Pelc</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Apr 2020 20:06:57 +0000</created>
                <updated>Sat, 28 Oct 2023 11:38:15 +0000</updated>
                            <resolved>Tue, 14 Apr 2020 17:55:49 +0000</resolved>
                                                    <fixVersion>1.4.0</fixVersion>
                                    <component>Connections</component>
                    <component>Options &amp;amp; Configuration</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="3039281" author="xgen-internal-githook" created="Tue, 14 Apr 2020 17:55:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Divjot Arora&apos;, &apos;email&apos;: &apos;divjot.arora@10gen.com&apos;, &apos;username&apos;: &apos;divjotarora&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-1557&quot; title=&quot;Improve SetCompressors documentation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-1557&quot;&gt;&lt;del&gt;GODRIVER-1557&lt;/del&gt;&lt;/a&gt; Clarify SetCompressors documentation (#367)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/8690c72690bde9d225b5d80c8821506a658b268d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/8690c72690bde9d225b5d80c8821506a658b268d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3039241" author="epelc@greatcloak.com" created="Tue, 14 Apr 2020 17:35:24 +0000"  >&lt;p&gt;&lt;del&gt;Maybe something like this?&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;&quot;To use compression, settings must overlap with the server&apos;s enabled compressors. See&#160;&lt;a href=&quot;https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors&lt;/a&gt;&#160;for more information about configuring compression on the server and default compressors&quot;&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&#160;--&#160;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;Not sure if that gets past the rules of not tying docs too much to server docs but maybe you could use that or pull something out of it. Not sure here I tried writing something several times but I&apos;m not fully versed on how tied to the server docs it can be.&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Just saw your PR and it is much nicer. Thank you!&lt;/p&gt;</comment>
                            <comment id="3039234" author="divjot.arora" created="Tue, 14 Apr 2020 17:33:44 +0000"  >&lt;p&gt;Docs changes:&#160;&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/pull/367&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/pull/367&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3030431" author="divjot.arora" created="Tue, 7 Apr 2020 22:15:46 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=epelc%40greatcloak.com&quot; class=&quot;user-hover&quot; rel=&quot;epelc@greatcloak.com&quot;&gt;epelc@greatcloak.com&lt;/a&gt; I assume you&apos;re talking about the docs for &lt;tt&gt;SetCompressors&lt;/tt&gt;&#160;(&lt;a href=&quot;https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo/options?tab=doc#ClientOptions.SetCompressors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo/options?tab=doc#ClientOptions.SetCompressors&lt;/a&gt;). We try not to mention server defaults in our documentation, as those are not guaranteed to stay the same between server versions. For example, zstd was not added until 4.2. Instead, we link to pages on docs.mongodb.com, as those are kept up to date by our Docs team.&lt;/p&gt;

&lt;p&gt;That being said, I understand that the current &lt;tt&gt;SetCompressors&lt;/tt&gt; docs make it seem like explicit action is needed to enable compression server-side. To address that, I propose that we remove the line &quot;To use compression, it must be enabled on the server as well&quot; and change the line that links to the server docs to &quot;See&#160;&lt;a href=&quot;https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors&lt;/a&gt;&#160;for information about how compression settings can be tuned on the server.&quot; The docs at that link specify that all compressors are enabled by default server-side. Thoughts?&lt;/p&gt;</comment>
                            <comment id="3030281" author="epelc@greatcloak.com" created="Tue, 7 Apr 2020 20:45:01 +0000"  >&lt;p&gt;Thanks for the thorough reply! I don&apos;t really keep up with the other drivers but it&apos;s really good to hear there is a goal to unify them all.&lt;/p&gt;

&lt;p&gt;I agree with it not being a perf upgrade 100% of the time. Maybe the docs could be clarified to say that the server does have compression enabled by default though? It looks like compression has been enabled by default(server side) since it came out in 3.4.&lt;/p&gt;</comment>
                            <comment id="3029883" author="divjot.arora" created="Tue, 7 Apr 2020 17:53:38 +0000"  >&lt;p&gt;We recognize that correctly choosing the optimal compression settings can be tough and that the driver documentation for this can be improved. However, enabling compression by default isn&apos;t a change that we want to unilaterally make in the Go driver. There is an ongoing discussion about how we can reliably do this across all drivers. This is more complex than it may seem, given that not all drivers have native libraries for all compression types and compression can actually decrease application performance in some setups and workloads. We&apos;ll decide what to do for Go depending on that discussion.&lt;/p&gt;

&lt;p&gt;In the meantime, we&apos;d love to hear any suggestions you might have about documentation. There are a large number of Client options and we realize that important information like this can get lost in the mix. I&apos;m going to leave this ticket open for now and we might be able to re-purpose it as a documentation improvement if you have any suggestions.&lt;/p&gt;

&lt;p&gt;&amp;#8211; Divjot&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hx1dn3:</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>