<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:01: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>[CXX-1086] Deprecate non-const methods on mongocxx::client</title>
                <link>https://jira.mongodb.org/browse/CXX-1086</link>
                <project id="11980" key="CXX">C++ Driver</project>
                    <description>&lt;p&gt;We should deprecate all of the non-const methods on mongocxx::client, namely:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;client::read_concern(class read_concern)&lt;/li&gt;
	&lt;li&gt;client::read_preference(class read_preference)&lt;/li&gt;
	&lt;li&gt;client::write_concern(class write_concern)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This would allow us to eventually remove the calls to mongoc_client_set_read_concern() and others from client.cpp, which in turn would allow the C++ driver to be in compliance with the C driver requirement of &quot;&lt;a href=&quot;http://mongoc.org/libmongoc/current/mongoc_client_set_read_concern.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;It is a programming error to call this function on a client from a mongoc_client_pool_t.&lt;/a&gt;&quot;.&lt;/p&gt;

&lt;p&gt;We should document that users should instead set these values on the client/pool URI, or the database or collection objects derived from the client instead.&lt;/p&gt;

&lt;p&gt;Original description:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because clients have mutable state, it may be possible for the following to happen:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;check out client A from pool&lt;/li&gt;
	&lt;li&gt;modify client A&apos;s write concern from default set via URI&lt;/li&gt;
	&lt;li&gt;perform operations with modified write concern (e.g. find-and-modify ops)&lt;/li&gt;
	&lt;li&gt;return client A to pool&lt;/li&gt;
	&lt;li&gt;check out client A from pool, still with modified write concern&lt;/li&gt;
	&lt;li&gt;perform operations with modified write concern rather than the default&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Is this actually possible?  If so, should we enforce an invariant that all clients are checked out with identical configuration?  Should we push that invariant upstream to libmongoc?&lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment></environment>
        <key id="323057">CXX-1086</key>
            <summary>Deprecate non-const methods on mongocxx::client</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="sam.rossi@mongodb.com">Samuel Rossi</assignee>
                                    <reporter username="david.golden@mongodb.com">David Golden</reporter>
                        <labels>
                    </labels>
                <created>Wed, 12 Oct 2016 15:22:25 +0000</created>
                <updated>Wed, 12 Jul 2017 21:37:08 +0000</updated>
                            <resolved>Fri, 14 Apr 2017 22:14:06 +0000</resolved>
                                                    <fixVersion>3.2.0-rc0</fixVersion>
                                    <component>Documentation</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="1549916" author="xgen-internal-githook" created="Fri, 14 Apr 2017 22:13:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;saghm&apos;, u&apos;name&apos;: u&apos;Saghm Rossi&apos;, u&apos;email&apos;: u&apos;saghmrossi@gmail.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1086&quot; title=&quot;Deprecate non-const methods on mongocxx::client&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1086&quot;&gt;&lt;del&gt;CXX-1086&lt;/del&gt;&lt;/a&gt; Deprecate non-const methods on mongocxx::client&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/7893799c4545c740b637d1c93917b89c35ea6bb8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/7893799c4545c740b637d1c93917b89c35ea6bb8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1549611" author="david.golden" created="Fri, 14 Apr 2017 18:34:43 +0000"  >&lt;p&gt;Agreed.  Let&apos;s deprecate in the documentation.&lt;/p&gt;</comment>
                            <comment id="1546811" author="rassi@10gen.com" created="Wed, 12 Apr 2017 07:48:01 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.golden&quot; class=&quot;user-hover&quot; rel=&quot;david.golden&quot;&gt;david.golden&lt;/a&gt;: I&apos;m pulling this into 3.2.0-rc0, feel free to bump it back out if you&apos;d like.&lt;/p&gt;</comment>
                            <comment id="1408649" author="david.golden" created="Fri, 14 Oct 2016 15:02:07 +0000"  >&lt;p&gt;I&apos;m targeting this for 4.0-required as I think we need time to develop a good solution, but I don&apos;t think a solution is optional.&lt;/p&gt;</comment>
                            <comment id="1408648" author="david.golden" created="Fri, 14 Oct 2016 15:01:23 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-938&quot; title=&quot;Prohibit setting options on pooled clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-938&quot;&gt;CDRIVER-938&lt;/a&gt; addresses this as well.  Their plan seem to be to prohibit modifying options on pooled clients.  Perhaps we deprecate the functionality like they do, or perhaps we should move towards making client objects fully immutable.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="234385">CDRIVER-938</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="403110">CXX-1391</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|hsy4c7:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1675">Perl/CXX 2017-05-05</customfieldvalue>

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