[JAVA-3308] com.mongodb.MongoSocketReadException: Prematurely reached end of stream Created: 07/Jun/19  Updated: 27/Oct/23  Resolved: 08/Jul/19

Status: Closed
Project: Java Driver
Component/s: Connection Management
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Aaron Liang Assignee: Unassigned
Resolution: Gone away Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

// code placeholder
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoClients;
 
public class Mongo {
 
 public static void main(String[] ss) {
 
 
 String url = "mongodb://**:****@dds-2ev38e6dab5433341368-pub.mongodb.rds.aliyuncs.com:3717,dds-2ev38e6dab5433342459-pub.mongodb.rds.aliyuncs.com:3717/?" +
 "authSource=admin&readPreference=primary&replicaSet=aa";
 
 
 // Working 
 com.mongodb.client.MongoClient client = MongoClients.create(url);
 System.out.println(client.getDatabase("jcl_dev").getCollection("product_new").count());
 
 
 
 //Not Working
 MongoClientURI connectionString = new MongoClientURI(url);
 MongoClient mongoClient = new MongoClient(connectionString);
 System.out.println(mongoClient.getDatabase("jcl_dev").getCollection("product_new").count());
 
 }
}
 
 
 

 

INFO: Exception in monitor thread while connecting to server dds-aaaaaa.aliyuncs.com:3717INFO: Exception in monitor thread while connecting to server dds-2ev38e6dab5433341368-pub.mongodb.rds.aliyuncs.com:3717com.mongodb.MongoSocketReadException: Prematurely reached end of stream at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:112) at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:570) at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:441) at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:295) at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255) at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105) at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62) at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) at java.lang.Thread.run(Thread.java:748)

 



 Comments   
Comment by Ross Lawley [ 08/Jul/19 ]

Hi aaronliang,

I haven't heard anything back, so I'm closing this ticket. If you have further feedback, I'll happily reopen this ticket.

Ross

Comment by Ross Lawley [ 11/Jun/19 ]

Hi aaronliang,

Normally, the Prematurely reached end of stream exceptions are caused by the server closing the connection. Could you provide server logs for the two connection attempts? There may be more information there.

Ross

Comment by Aaron Liang [ 07/Jun/19 ]

mongo driver . 3.10.1 .   mongodb version: 4.0.3, 

Generated at Thu Feb 08 08:59:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.