<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:11: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>[CDRIVER-1031] ReadConcern should be inherited from a parent when not set</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-1031</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;blockquote&gt;
&lt;p&gt;ReadConcern SHOULD be specifiable at the Client, Database, and Collection levels. Unless specified, the value MUST be inherited from its parent&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;When creating a collection, if no read_concern is provided, we&apos;ll &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/blob/master/src/mongoc/mongoc-collection.c#L181-L183&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;create a new read_concern&lt;/a&gt; rather than inheriting from the parent database.  The same is true for &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/blob/master/src/mongoc/mongoc-database.c#L77-L79&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;new databases&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="242120">CDRIVER-1031</key>
            <summary>ReadConcern should be inherited from a parent when not set</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="samantha.ritter@mongodb.com">Samantha Ritter</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Dec 2015 18:27:18 +0000</created>
                <updated>Fri, 5 Feb 2016 06:52:16 +0000</updated>
                            <resolved>Tue, 26 Jan 2016 14:50:27 +0000</resolved>
                                    <version>1.3.0-beta0</version>
                                    <fixVersion>1.3.1</fixVersion>
                    <fixVersion>1.3.2</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1164650" author="xgen-internal-githook" created="Fri, 5 Feb 2016 06:52:16 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1031&quot; title=&quot;ReadConcern should be inherited from a parent when not set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1031&quot;&gt;&lt;del&gt;CDRIVER-1031&lt;/del&gt;&lt;/a&gt; mongoc_database_get_collection inherits config&lt;/p&gt;

&lt;p&gt;Copy write concern, read concern, and read preference from database, not from the client.&lt;br/&gt;
Branch: r1.3&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/717049338f0d9283b81cff67ad21c980bb44b872&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/717049338f0d9283b81cff67ad21c980bb44b872&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1155871" author="xgen-internal-githook" created="Wed, 27 Jan 2016 21:29:19 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;bjori&apos;, u&apos;name&apos;: u&apos;Hannes Magnusson&apos;, u&apos;email&apos;: u&apos;bjori@php.net&apos;}
&lt;p&gt;Message: Merge remote-tracking branch &apos;upstream/r1.3&apos;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;upstream/r1.3:&lt;br/&gt;
  &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1054&quot; title=&quot;Support negative cursor limit for single-batch OP_QUERY and find command results&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1054&quot;&gt;&lt;del&gt;CDRIVER-1054&lt;/del&gt;&lt;/a&gt;: Support negative cursor limit&lt;br/&gt;
  post-release bump&lt;br/&gt;
  1.3.1 Release&lt;br/&gt;
  &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1052&quot; title=&quot;CMakeLists.txt build is incomplete and makes the driver unusable for the C++ driver&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1052&quot;&gt;&lt;del&gt;CDRIVER-1052&lt;/del&gt;&lt;/a&gt;: update NEWS&lt;br/&gt;
  Fix &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1052&quot; title=&quot;CMakeLists.txt build is incomplete and makes the driver unusable for the C++ driver&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1052&quot;&gt;&lt;del&gt;CDRIVER-1052&lt;/del&gt;&lt;/a&gt;: CMakeLists.txt build is incomplete&lt;br/&gt;
  &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1031&quot; title=&quot;ReadConcern should be inherited from a parent when not set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1031&quot;&gt;&lt;del&gt;CDRIVER-1031&lt;/del&gt;&lt;/a&gt; gridfs inherits client config&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/5f0720ed19cdeebf170e50fbef39f5f6d81de6db&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/5f0720ed19cdeebf170e50fbef39f5f6d81de6db&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="1155861" author="xgen-internal-githook" created="Wed, 27 Jan 2016 21:29:11 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1031&quot; title=&quot;ReadConcern should be inherited from a parent when not set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1031&quot;&gt;&lt;del&gt;CDRIVER-1031&lt;/del&gt;&lt;/a&gt; gridfs inherits client config&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/d2ec937364876ac0d4cfb2136ebde2753f0d4bbe&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/d2ec937364876ac0d4cfb2136ebde2753f0d4bbe&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1153922" author="jesse" created="Tue, 26 Jan 2016 14:51:00 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=samantha.ritter&quot; class=&quot;user-hover&quot; rel=&quot;samantha.ritter&quot;&gt;samantha.ritter&lt;/a&gt;, do you see any other mistakes?&lt;/p&gt;</comment>
                            <comment id="1153919" author="xgen-internal-githook" created="Tue, 26 Jan 2016 14:50:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1031&quot; title=&quot;ReadConcern should be inherited from a parent when not set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1031&quot;&gt;&lt;del&gt;CDRIVER-1031&lt;/del&gt;&lt;/a&gt; mongoc_database_get_collection inherits config&lt;/p&gt;

&lt;p&gt;Copy write concern, read concern, and read preference from database, not from the client.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/cbad0acc37f7858c750991fc0559362f5809d2c7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/cbad0acc37f7858c750991fc0559362f5809d2c7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1150588" author="samantha.ritter@10gen.com" created="Thu, 21 Jan 2016 21:47:57 +0000"  >&lt;p&gt;Hey, this still isn&apos;t quite right.  When using &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/blob/master/src/mongoc/mongoc-database.c#L1119-L1128&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongoc_database_get_collection()&lt;/a&gt; to create a new mongoc_collection_t for an existing database collection, the read concern is not plumbed through.  In this method, we call mongoc_client_get_collection() without passing the database&apos;s read_concern down, and the new collection will have its parent client&apos;s read_concern instead of its parent database&apos;s.&lt;/p&gt;</comment>
                            <comment id="1132805" author="xgen-internal-githook" created="Tue, 12 Jan 2016 20:20:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1031&quot; title=&quot;ReadConcern should be inherited from a parent when not set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1031&quot;&gt;&lt;del&gt;CDRIVER-1031&lt;/del&gt;&lt;/a&gt; gridfs inherits client config&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/3a49da4e7f687e3e2e7f190b9d3120765abc09ea&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/3a49da4e7f687e3e2e7f190b9d3120765abc09ea&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1132804" author="xgen-internal-githook" created="Tue, 12 Jan 2016 20:20:47 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1031&quot; title=&quot;ReadConcern should be inherited from a parent when not set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1031&quot;&gt;&lt;del&gt;CDRIVER-1031&lt;/del&gt;&lt;/a&gt; check gridfs inherits client config&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/1840cc8bf273aabae4f0f570a1284519aa69b9fe&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/1840cc8bf273aabae4f0f570a1284519aa69b9fe&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1129047" author="jesse" created="Thu, 7 Jan 2016 20:58:59 +0000"  >&lt;p&gt;We should follow the spec. Read pref and read / write concern should be copied from the client.&lt;/p&gt;</comment>
                            <comment id="1127599" author="samantha.ritter@10gen.com" created="Wed, 6 Jan 2016 16:30:57 +0000"  >&lt;p&gt;from the gridfs spec:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;writeConcern: defaults to the write concern on the parent database (or client object if the parent database has no write concern).&lt;br/&gt;
readPreference: defaults to the read preference on the parent database (or client object if the parent database has no read preference).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Since there is no db object in the c driver&apos;s gridfs, should it be the client&apos;s then?  I think the gridfs spec was written before read_concern was a thing, but I imagine the same would apply for that?&lt;/p&gt;</comment>
                            <comment id="1126518" author="bjori" created="Tue, 5 Jan 2016 17:16:43 +0000"  >&lt;p&gt;Isn&apos;t GridFS special in that it is explicitly not allowed to inherit anything?&lt;br/&gt;
It must use w: 1, and readPrferenes primary?&lt;/p&gt;

&lt;p&gt;You have a point regarding the read_concern though. I don&apos;t think how to deal with that is mentioned anywhere.&lt;/p&gt;</comment>
                            <comment id="1125715" author="samantha.ritter@10gen.com" created="Mon, 4 Jan 2016 21:27:33 +0000"  >&lt;p&gt;I didn&apos;t look closely enough at the &quot;db&quot; parameter to _mongoc_collection_new(), I didn&apos;t realize it was just the db name.  Regardless, I think there&apos;s something off here.&lt;/p&gt;

&lt;p&gt;If parents are supposed to pass in their read_concern (or write_concern, read prefs etc) when they call _mongoc_database/collection_new(), I&apos;m confused about why those methods accept NULL as a valid option for these parameters.  There are places in the codebase that call _mongoc_collection_new() without passing a read_concern in, for example &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/blob/master/src/mongoc/mongoc-gridfs.c#L120-L124&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here in gridfs&lt;/a&gt;.  In places like this, the new collection won&apos;t inherit its parent db&apos;s or client&apos;s read_concern, it will just get a new default read_concern.  In gridfs, it seems like the client&apos;s read_concern should be passed in, the way it is in &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/blob/master/src/mongoc/mongoc-client.c#L937-L938&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongoc_client_get_collection()&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In _mongoc_database_new(), there is always a handle to the parent client object, it seems like this method should always take the client&apos;s read_concern, write_concern, and read_prefs unless those are explicitly passed in.  Currently, if they are not passed in, we create new default values for those.&lt;/p&gt;</comment>
                            <comment id="1104713" author="bjori" created="Thu, 3 Dec 2015 19:29:47 +0000"  >&lt;p&gt;The &lt;tt&gt;&amp;#95;mongoc_[database|collection]_new()&lt;/tt&gt; methods are private API and are called from the &quot;parent&quot; which passes its readConcer/writeConcern/readPreferences as default.&lt;/p&gt;


&lt;p&gt;For example, _mongoc_database_new () is called by mongoc_client_get_database () which will pass the client-&amp;gt;read_concern as the default value, so the created database will &quot;inherit&quot; the clients read&lt;span class=&quot;error&quot;&gt;&amp;#91;concern|preferences&amp;#93;&lt;/span&gt; and writeconcern&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="242122">CXX-758</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="260894">CDRIVER-1075</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="229445">CDRIVER-837</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|hrdp8v:</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="865">C Driver 2016 sprint 1</customfieldvalue>
    <customfieldvalue id="894">C Driver 2016 sprint 2</customfieldvalue>

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