<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:55:43 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>[JAVA-1867] MongoDatabase.runCommand should never fail server selection with a direct connection</title>
                <link>https://jira.mongodb.org/browse/JAVA-1867</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;Currently the MongoDatabase.runCommand variant that does not take a read preference attempts to select a server that can accept writes (standalone, replica set primary, mongos).  But this rules out certain use cases: for example, it will not allow a client to sent a replSetInitiate command to an uninitiated replica set member.&lt;/p&gt;

&lt;p&gt;The correct behavior is to allow the command to be sent to a server that is directly connected to using the single ServerAddress MongoClient constructor.&lt;/p&gt;

&lt;p&gt;A workaround until this is fixed is to use the runCommand variant that accepts a read preference:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;database.runCommand(init, ReadPreference.primary());&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Thanks to Jeffrey Phillips Freeman for reporting this in &lt;a href=&quot;https://groups.google.com/forum/#!topic/mongodb-user/Cy8o4iHG6CU&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://groups.google.com/forum/#!topic/mongodb-user/Cy8o4iHG6CU&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="211886">JAVA-1867</key>
            <summary>MongoDatabase.runCommand should never fail server selection with a direct connection</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="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="jeff.yemin@mongodb.com">Jeffrey Yemin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Jun 2015 16:58:04 +0000</created>
                <updated>Thu, 16 Jul 2015 16:01:11 +0000</updated>
                            <resolved>Tue, 23 Jun 2015 21:53:41 +0000</resolved>
                                    <version>3.0.2</version>
                                    <fixVersion>3.0.3</fixVersion>
                    <fixVersion>3.1.0</fixVersion>
                                    <component>Command Operations</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="967893" author="jeff.yemin" created="Thu, 16 Jul 2015 16:01:11 +0000"  >&lt;p&gt;Fix is now available in the &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/releases/tag/r3.0.3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;3.0.3 release&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="948683" author="xgen-internal-githook" created="Tue, 23 Jun 2015 21:53:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jyemin&apos;, u&apos;name&apos;: u&apos;Jeff Yemin&apos;, u&apos;email&apos;: u&apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: Changed the runCommand methods in MongoDatabase that don&apos;t take a ReadPreference to use ReadPreference.primary() instead of treating the command as a write operation.&lt;br/&gt;
This is a subtle distinction, but an important one, as a primary read preference will allow the command to be sent to an uninitialized member of a replica set&lt;br/&gt;
that the client has directly connected to, whereas a write operation will only allow the command to be sent to a primary member of a replica set.&lt;/p&gt;

&lt;p&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1867&quot; title=&quot;MongoDatabase.runCommand should never fail server selection with a direct connection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1867&quot;&gt;&lt;del&gt;JAVA-1867&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 3.0.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/d6a02895676b467fa2eaafdf1353b38594099b87&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/d6a02895676b467fa2eaafdf1353b38594099b87&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="948678" author="xgen-internal-githook" created="Tue, 23 Jun 2015 21:47:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jyemin&apos;, u&apos;name&apos;: u&apos;Jeff Yemin&apos;, u&apos;email&apos;: u&apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: Changed the runCommand methods in MongoDatabase that don&apos;t take a ReadPreference to use ReadPreference.primary() instead of treating the command as a write operation.&lt;br/&gt;
This is a subtle distinction, but an important one, as a primary read preference will allow the command to be sent to an uninitialized member of a replica set&lt;br/&gt;
that the client has directly connected to, whereas a write operation will only allow the command to be sent to a primary member of a replica set.&lt;/p&gt;

&lt;p&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1867&quot; title=&quot;MongoDatabase.runCommand should never fail server selection with a direct connection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1867&quot;&gt;&lt;del&gt;JAVA-1867&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/0a28ed5a9b2a55ad3723b33e641ec5598562dc56&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/0a28ed5a9b2a55ad3723b33e641ec5598562dc56&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                        </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|hsa7z3:</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="586">Java Sprint 21</customfieldvalue>

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