<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:05:03 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>[SERVER-4130] isself too agressive when bind_ip also specified</title>
                <link>https://jira.mongodb.org/browse/SERVER-4130</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;We are trying to secure our new multi-datacenter mongo cluster using stunnel. To do so we created additional interfaces, assigned them unused ips, and added entries to /etc/hosts. Communication was tested with mongo --host and is working as expected. We use bind_ip to carefully control which of the available interfaces mongod is listening on.&lt;/p&gt;

&lt;p&gt;The issue we ran into is that adding the new member runs afoul of the isself() check:&lt;/p&gt;

&lt;p&gt;Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; run command admin.$cmd { replSetReconfig: { _id: &quot;members-a&quot;, version: 7, members: [ &lt;/p&gt;
{ _id: 0, host: &quot;ecnext80:27017&quot; }
&lt;p&gt;, &lt;/p&gt;
{ _id: 1, host: &quot;ecnext78:27017&quot; }
&lt;p&gt;, &lt;/p&gt;
{ _id: 2, host: &quot;ecnext82:27017&quot; }
&lt;p&gt;, &lt;/p&gt;
{ _id: 3.0, host: &quot;rsmongo008:27017&quot; }
&lt;p&gt; ] } }&lt;br/&gt;
Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; replSet replSetReconfig config object parses ok, 4 members specified&lt;br/&gt;
Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; getMyAddrs(): &lt;span class=&quot;error&quot;&gt;&amp;#91;127.0.0.1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.2&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.3&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.5&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.6&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.7&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.4&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;10.28.16.151&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;216.12.148.188&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;172.18.5.34&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;::1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;fe80::5054:ff:fed2:ba9e%eth0&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;fe80::5054:ff:fe68:1fa8%eth1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;fe80::5054:ff:fe38:7593%eth2&amp;#93;&lt;/span&gt;&lt;br/&gt;
Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; getallIPs(&quot;rsmongo008&quot;): &lt;span class=&quot;error&quot;&gt;&amp;#91;10.27.17.4&amp;#93;&lt;/span&gt;&lt;br/&gt;
Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; User Assertion: 13278:bad config: isSelf is true for multiple hosts: ecnext82:27017,rsmongo008:27017&lt;br/&gt;
Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; replSet replSetReconfig exception: bad config: isSelf is true for multiple hosts: ecnext82:27017,rsmongo008:27017&lt;br/&gt;
Mon Oct 24 07:13:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;conn14&amp;#93;&lt;/span&gt; command admin.$cmd command: { replSetReconfig: { _id: &quot;members-a&quot;, version: 7, members: [ &lt;/p&gt;
{ _id: 0, host: &quot;ecnext80:27017&quot; }
&lt;p&gt;, &lt;/p&gt;
{ _id: 1, host: &quot;ecnext78:27017&quot; }
&lt;p&gt;, &lt;/p&gt;
{ _id: 2, host: &quot;ecnext82:27017&quot; }
&lt;p&gt;, &lt;/p&gt;
{ _id: 3.0, host: &quot;rsmongo008:27017&quot; }
&lt;p&gt; ] } } ntoreturn:1 exception: bad config: isSelf is true for multiple hosts: ecnext82:27017,rsmongo008:27017 code:13278 reslen:183 0ms&lt;/p&gt;

&lt;p&gt;Those 10.27.17.* ips are actually stunnel client endpoints. Further, the server itself is not listening on them:&lt;/p&gt;

&lt;p&gt;stsmith@ecnext82:~$ grep bind_ip /etc/mongodb-members-a.conf &lt;br/&gt;
bind_ip=127.0.0.1,10.28.16.151&lt;/p&gt;

&lt;p&gt;Shouldn&apos;t isself() account for bind_ip? Specifically, shouldn&apos;t getMyAddrs() only return the ips specified via bind_ip &amp;#8211; 127.0.0.1 and 10.28.16.151 in this case?&lt;/p&gt;

&lt;p&gt;We tried &lt;/p&gt;
{force:true}
&lt;p&gt; for the reconfig, but it didn&apos;t help. We also tried having the interface unconfigured when we added rsmongo008, but bad things happened once we brought up that interface.&lt;/p&gt;

&lt;p&gt;We are in a position to quickly build/test any suggested patches.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Stephen J. Smith&lt;br/&gt;
Systems Engineer&lt;br/&gt;
Manta Media, Inc.&lt;/p&gt;</description>
                <environment>Ubuntu 11.04, Mongodb 2.0.1</environment>
        <key id="23977">SERVER-4130</key>
            <summary>isself too agressive when bind_ip also specified</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="brandon">Brandon Diamond</assignee>
                                    <reporter username="stsmith@manta.com">Stephen J. Smith</reporter>
                        <labels>
                            <label>replication</label>
                    </labels>
                <created>Mon, 24 Oct 2011 11:50:50 +0000</created>
                <updated>Mon, 11 Jul 2016 18:32:59 +0000</updated>
                            <resolved>Fri, 23 Dec 2011 23:00:09 +0000</resolved>
                                    <version>2.0.1</version>
                                    <fixVersion>2.1.0</fixVersion>
                                    <component>Internal Code</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="75806" author="auto" created="Fri, 23 Dec 2011 22:40:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;&apos;, u&apos;name&apos;: u&apos;Brandon Diamond&apos;, u&apos;email&apos;: u&apos;brandon@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-4130&quot; title=&quot;isself too agressive when bind_ip also specified&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-4130&quot;&gt;&lt;del&gt;SERVER-4130&lt;/del&gt;&lt;/a&gt;: defer to bind_ip arg when getting addrs&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/68bc1931ee48863bf52c8317395107c6a7b7f617&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/68bc1931ee48863bf52c8317395107c6a7b7f617&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="63058" author="stsmith@manta.com" created="Thu, 27 Oct 2011 14:45:04 +0000"  >&lt;p&gt;I hardcoded my bind_ip list in getMyAddrs() to verify the proposed solution. I was able to bring up my cluster secured by stunnel as orignally planned. This is the patch that worked:&lt;/p&gt;

&lt;p&gt;&amp;#8212; mongodb-src-r2.0.1.orig/db/commands/isself.cpp      2011-10-21 20:52:16.000000000 -0400&lt;br/&gt;
+++ mongodb-src-r2.0.1/db/commands/isself.cpp   2011-10-27 10:27:04.100403316 -0400&lt;br/&gt;
@@ -40,6 +40,8 @@ vector&amp;lt;string&amp;gt; getMyAddrs() {&lt;br/&gt;
         massert(13469, &quot;getifaddrs failure: &quot; + errnoWithDescription(errno), status == 0);&lt;/p&gt;

&lt;p&gt;         vector&amp;lt;string&amp;gt; out;&lt;br/&gt;
+        out.push_back(&quot;127.0.0.1&quot;);&lt;br/&gt;
+        return out;&lt;/p&gt;

&lt;p&gt;         // based on example code from linux getifaddrs manpage&lt;br/&gt;
         for (ifaddrs * addr = addrs; addr != NULL; addr = addr-&amp;gt;ifa_next) {&lt;/p&gt;

&lt;p&gt;When getMyAddrs() returns the bind_ip list, the machine name has to resolve to one of the bound ips or you get an error like this:&lt;/p&gt;

&lt;p&gt;Thu Oct 27 09:20:35 &lt;span class=&quot;error&quot;&gt;&amp;#91;initandlisten&amp;#93;&lt;/span&gt; Socket recv() errno:104 Connection reset by peer 10.160.111.136:27017&lt;br/&gt;
Thu Oct 27 09:20:35 &lt;span class=&quot;error&quot;&gt;&amp;#91;initandlisten&amp;#93;&lt;/span&gt; SocketException: remote: 10.160.111.136:27017 error: 9001 socket exception &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; server &lt;span class=&quot;error&quot;&gt;&amp;#91;10.160.111.136:27017&amp;#93;&lt;/span&gt; &lt;br/&gt;
Thu Oct 27 09:20:35 &lt;span class=&quot;error&quot;&gt;&amp;#91;initandlisten&amp;#93;&lt;/span&gt; DBClientCursor::init call() failed&lt;br/&gt;
Thu Oct 27 09:20:35 &lt;span class=&quot;error&quot;&gt;&amp;#91;initandlisten&amp;#93;&lt;/span&gt; warning: could&apos;t check isSelf (aws003:27017) DBClientBase::findN: transport error: aws003:27017 query: &lt;/p&gt;
{ _isSelf: 1 }

&lt;p&gt;Solved by updating /etc/hosts so that aws003 was on the 127.0.0.1 line rather than 10.160.111.136.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 23 Dec 2011 22:40:41 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        12 years, 8 weeks, 5 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            12 years, 8 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10020"><![CDATA[Linux]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>brandon</customfieldvalue>
            <customfieldvalue>stsmith@manta.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrongn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrgc9b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8895</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|ht0b87:</customfieldvalue>

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