<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:54:02 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-1206] Incorrect ping information causes continuous updating cluster information</title>
                <link>https://jira.mongodb.org/browse/JAVA-1206</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;After updating java driver to 2.12.0 gc activity raises for a several dozen percent. In logs I can find:&lt;br/&gt;
May 09, 2014 3:33:36 PM com.mongodb.ServerStateNotifier run&lt;br/&gt;
FINE: Checking status of s122712.dc2:27017&lt;br/&gt;
May 09, 2014 3:33:36 PM com.mongodb.BaseCluster updateDescription&lt;br/&gt;
FINE: Updating cluster description to  {type=ReplicaSet, servers=[&lt;/p&gt;
{address=s122712.dc2:27017, type=ReplicaSetPrimary, averagePingTime=2883898000000 ms, state=Connected}
&lt;p&gt;]&lt;/p&gt;

&lt;p&gt;But ping gives:&lt;br/&gt;
ping s122712.dc2&lt;br/&gt;
PING s122712.dc2 (xx.xx.xx.xx) 56(84) bytes of data.&lt;br/&gt;
64 bytes from s122712.dc2 (xx.xx.xx.xx): icmp_req=1 ttl=64 time=0.322 ms&lt;br/&gt;
64 bytes from s122712.dc2 (xx.xx.xx.xx): icmp_req=2 ttl=64 time=0.359 ms&lt;/p&gt;

&lt;p&gt;In fact there are thousands DBPort and MongoOptions objects created every second which kills servers in less than an hour.&lt;/p&gt;</description>
                <environment>linux</environment>
        <key id="135718">JAVA-1206</key>
            <summary>Incorrect ping information causes continuous updating cluster information</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.mongodb.org/images/icons/priorities/blocker.svg">Blocker - P1</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="-1">Unassigned</assignee>
                                    <reporter username="jkubrynski">Jakub Kubrynski</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 May 2014 13:44:39 +0000</created>
                <updated>Tue, 23 Jun 2015 02:33:44 +0000</updated>
                            <resolved>Tue, 23 Jun 2015 02:33:44 +0000</resolved>
                                    <version>2.12.0</version>
                                                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="947688" author="jeff.yemin" created="Tue, 23 Jun 2015 02:33:44 +0000"  >&lt;p&gt;Closing this, as I strongly suspect that it&apos;s been fixed in later patches in the 2.12 driver series.  In particular, by &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1202&quot; title=&quot;Driver should dedicate a thread to monitor each server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1202&quot;&gt;&lt;del&gt;JAVA-1202&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1217&quot; title=&quot;Increase retry frequency of heartbeat only when necessary&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1217&quot;&gt;&lt;del&gt;JAVA-1217&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="677746" author="mtrovo" created="Thu, 31 Jul 2014 16:43:03 +0000"  >&lt;p&gt;We&apos;re using the 2.12.0 version and I can pinpoint this problem to this version because yesterday we rolled back our client to 2.11.0 and the problem is gone for now.&lt;/p&gt;

&lt;p&gt;Yes, I saw it in the code and it&apos;s very weird because in 30 minutes it received this event from the cluster 3.5mi times (average of 1944 events/sec for a 2 nodes cluster!) .&lt;/p&gt;

&lt;p&gt;I&apos;m out of my desk right now but I will try it and see if it works better.&lt;/p&gt;</comment>
                            <comment id="677699" author="jeff.yemin" created="Thu, 31 Jul 2014 16:08:45 +0000"  >&lt;p&gt;Moises,&lt;/p&gt;

&lt;p&gt;Which driver version are you using?  MultiServerCluster.handleReplicaSetMemberChanged does not add a new server to the cluster unless the server is not currently in the cluster.  See &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/blob/2.12.x/src/main/com/mongodb/MultiServerCluster.java#L212-219&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/blob/2.12.x/src/main/com/mongodb/MultiServerCluster.java#L212-219&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It would be useful if those experiencing this problem try the 2.12.3 patch release, as there have been a number of important fixes to the cluster monitoring implementation since 2.12.0.  Anyone willing to try?&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Jeff&lt;/p&gt;</comment>
                            <comment id="675592" author="mtrovo" created="Tue, 29 Jul 2014 21:04:29 +0000"  >&lt;p&gt;I&apos;m with this same problem on my cluster, I ran Mission Control and there&apos;s a lot of pressure on GC coming from DBPort / ServerStateNotifier classes within MongoDB driver, about 3.5mi instances and 108GB of total memory usage for a 30min dump.&lt;/p&gt;

&lt;p&gt;I&apos;m looking at the code and it seems to be a problem with the method com.mongodb.MultiServerCluster.handleReplicaSetMemberChanged(ServerDescription) where it adds new servers to the cluster every time there&apos;s a change on the Cluster.&lt;/p&gt;</comment>
                            <comment id="579337" author="jkubrynski" created="Sat, 10 May 2014 15:10:39 +0000"  >&lt;p&gt;One time I saw MongoSocketException.Network objects. Unfortunately I don&apos;t have saved heap dumps containing those objects. But as I remember exception comes from ensureOpen method i have autoReconnect = false&lt;/p&gt;</comment>
                            <comment id="578852" author="jeff.yemin" created="Fri, 9 May 2014 23:01:19 +0000"  >&lt;p&gt;Can you explain what you mean when you say that &quot;there was Network exception in heap dump&quot;?  Can you add the exception stack trace (if you have it) to a comment on this issue?&lt;/p&gt;</comment>
                            <comment id="578810" author="jkubrynski" created="Fri, 9 May 2014 22:21:09 +0000"  >&lt;p&gt;Currently I pass only one server.&lt;/p&gt;</comment>
                            <comment id="578807" author="jeff.yemin" created="Fri, 9 May 2014 22:17:37 +0000"  >&lt;p&gt;There should be a log message generated from here: &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/blob/2.12.0/src/main/com/mongodb/ServerStateNotifier.java#L102&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/blob/2.12.0/src/main/com/mongodb/ServerStateNotifier.java#L102&lt;/a&gt;.  Perhaps there is a typo in the name of one of the servers in the seed list that the application is passing to the Mongo constructor?&lt;/p&gt;
</comment>
                            <comment id="578802" author="jkubrynski" created="Fri, 9 May 2014 22:13:32 +0000"  >&lt;p&gt;Yep - I forgot that there was Network exception in heap dump. Maybe you can also extends logging in that part, because there is nothing in logs about that. It was thrown from DBPort.ensureOpen as I remember&lt;/p&gt;</comment>
                            <comment id="578797" author="jeff.yemin" created="Fri, 9 May 2014 22:10:14 +0000"  >&lt;p&gt;I don&apos;t think it will solve it either, but might give better diagnostics.  ServerStateNotifier caches DBPort instances, and only constructs new ones when an IOException is thrown.  Given that, we still have not been able to determine the root cause of the high allocation rate.  &lt;/p&gt;</comment>
                            <comment id="578791" author="jkubrynski" created="Fri, 9 May 2014 22:04:41 +0000"  >&lt;p&gt;I&apos;ll check that on Monday. But I&apos;m not sure it solves giant allocation rate od DBPort&lt;/p&gt;</comment>
                            <comment id="578788" author="jeff.yemin" created="Fri, 9 May 2014 22:02:16 +0000"  >&lt;p&gt;Would it be possible for you to test against the latest 2.12.2-SNAPSHOT?  It dedicates a thread per server for monitoring, and each thread name includes the server name.  That way we can see if it&apos;s one particular server that&apos;s causing the issue.&lt;/p&gt;

&lt;p&gt;The latest SNAPSHOT is at &lt;a href=&quot;https://oss.sonatype.org/content/repositories/snapshots/org/mongodb/mongo-java-driver/2.12.2-SNAPSHOT/mongo-java-driver-2.12.2-20140507.143852-5.jar&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://oss.sonatype.org/content/repositories/snapshots/org/mongodb/mongo-java-driver/2.12.2-SNAPSHOT/mongo-java-driver-2.12.2-20140507.143852-5.jar&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I opened &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1207&quot; title=&quot;Driver incorrectly converts nanoseconds to milliseconds in Level.FINE log message&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1207&quot;&gt;&lt;del&gt;JAVA-1207&lt;/del&gt;&lt;/a&gt; about the incorrect log message, but the fix is in code review and not yet in the SNAPSHOT.   &lt;/p&gt;</comment>
                            <comment id="578726" author="jkubrynski" created="Fri, 9 May 2014 21:12:51 +0000"  >&lt;p&gt;My fault - I&apos;ve fixed ping time only once. I&apos;ve used profiler and there was pretty high allocation rate on those objects. There was only one Mongo object instance. Problem is that GC times are being longer and longer, CPU usage is 100% without any user traffic. As I said - all objects are created in ThreadPoolExecutor and DBPort object are created by ServerStateNotifier in cluster-2-thread-1&lt;/p&gt;</comment>
                            <comment id="578705" author="jeff.yemin" created="Fri, 9 May 2014 20:55:56 +0000"  >&lt;p&gt;Thanks for spotting the bug in the logging statement.  Reversing the bug gives us an actual ping time of a bit under 3 ms.  &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;   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;        &lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;long&lt;/span&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; loggedValue = 2883898000000L;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;        System.out.println(loggedValue);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;        &lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;long&lt;/span&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; averagePingTimeNanos = MILLISECONDS.convert(loggedValue, NANOSECONDS);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;        System.out.println(averagePingTimeNanos + &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot; nanoseconds&quot;&lt;/span&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;);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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-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;        System.out.println(MILLISECONDS.convert(averagePingTimeNanos, NANOSECONDS) + &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot; ms&quot;&lt;/span&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;);&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;prints:&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;   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;2883898000000&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;2883898 nanoseconds&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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-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;2 ms&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;which is much closer to the expected ping time.  How did you calculate the 48 minute value?&lt;/p&gt;

&lt;p&gt;Looking a bit further, this bug is only in the log message, and the calculations everywhere else that use the raw value look to be correct.  So I think the incorrect ping time reported in the logs is not the root cause of the problem.&lt;/p&gt;

&lt;p&gt;What we still need to figure out is why there appear to be thousands DBPort and MongoOptions objects created every second.  ServerStateNotifier is only running once every 5 seconds for each server in the replica set, so long as all members are reachable, and your logs seem to confirm that behavior.  Can you tell me a bit about how you are determining the rate of object creation for DBPort and MongoOptions?  Also, when you say that it&apos;s killing the server, what do you mean exactly?  Are threads throwing OutOfMemoryError?&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Jeff&lt;/p&gt;</comment>
                            <comment id="578623" author="jkubrynski" created="Fri, 9 May 2014 19:54:01 +0000"  >&lt;p&gt;Those logs contains only lines I&apos;ve pasted repeated every 5sec. I&apos;ve checked and I can execute db.isMaster() on that host with the same user that is been used by my application. We have two hosts, two passives and one arbiter. All available from the application server with pings &amp;lt; 0.4ms to hosts and arbiter and &amp;lt; 10ms to passives.&lt;br/&gt;
isMaster is true for that server. &lt;/p&gt;

&lt;p&gt;Also you&apos;re incorrectly converting nanos to miliseconds in &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/blob/2.12.0/src/main/com/mongodb/ServerDescription.java#L486&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/blob/2.12.0/src/main/com/mongodb/ServerDescription.java#L486&lt;/a&gt;, because &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;NANOSECONDS.convert(averagePingTimeNanos, MILLISECONDS)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt; will convert millis to nanos. You have to use &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;NANOSECONDS.toMillis(averagePingTimeNanos)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt; instead.&lt;/p&gt;

&lt;p&gt;edit: I&apos;ve converted time you&apos;ve reported and it&apos;s about 48 minutes. Those logs were collected after about 2-3 minutes after starting the server so it&apos;s definitely incorrect&lt;/p&gt;</comment>
                            <comment id="578581" author="jeff.yemin" created="Fri, 9 May 2014 19:12:08 +0000"  >&lt;p&gt;The ping time that the driver reports it not the result of an actual ping, so it&apos;s confusing that the driver calls it that. It&apos;s the average of the response time of the server to the &apos;ismaster&apos; command, which is what ServerStateNotifier is calling.   For reference:  &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/blob/2.12.0/src/main/com/mongodb/ServerStateNotifier.java#L131-140&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/blob/2.12.0/src/main/com/mongodb/ServerStateNotifier.java#L131-140&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To assist us in getting to the root cause of this issue, can you provide an attachment containing all the log messages generated by the driver for a 30 second period?  If that&apos;s not something you can do in a public forum, I can make this ticket private.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Jeff&lt;/p&gt;









</comment>
                            <comment id="578542" author="jkubrynski" created="Fri, 9 May 2014 18:43:18 +0000"  >&lt;p&gt;No such servers in replica set, and as you see mongo driver reports unrealistic ping time to the server which is available and ping is below 0.4 ms&lt;/p&gt;</comment>
                            <comment id="578525" author="jeff.yemin" created="Fri, 9 May 2014 18:28:20 +0000"  >&lt;p&gt;Are there any servers in the replica set that are not reachable by the application?  If so, can you try increasing the value of com.mongodb.MongoClientOptions.Builder#heartbeatConnectRetryFrequency to something like 1000 ms?&lt;/p&gt;
</comment>
                            <comment id="578440" author="jkubrynski" created="Fri, 9 May 2014 17:33:20 +0000"  >&lt;p&gt;Not only - those objects are also created in ServerStateNotifier - and I&apos;ve seen that DBPort and MongoOptions is being allocated in ThreadPoolExecutor.&lt;br/&gt;
Second thing is that we&apos;re using SpringData Mongo and we&apos;ve updated only the Mongo Java Driver. After rolling back to 2.11.3 everything works great&lt;/p&gt;</comment>
                            <comment id="578298" author="jeff.yemin" created="Fri, 9 May 2014 15:42:01 +0000"  >&lt;p&gt;MongoOptions instances are only created when you create a new Mongo instance.  Can you see where in your application you are creating all those MongoOptions instances?&lt;/p&gt;
</comment>
                    </comments>
                    <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|hrgamn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8631</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>