zab-oza opened a new issue, #10999:
URL: https://github.com/apache/seatunnel/issues/10999

   ## Summary
   
   If the MongoDB source connector fails to create a cursor (due to connection, 
auth, or query error), the `closeCurrentSplit()` method in `MongodbReader.java` 
always throws a `NullPointerException`, masking the root MongoDB error. This 
affects jobs where parallelism > 1 or where only a single small split is 
generated. The outcome is that the real error never appears in logs—only the 
masking NPE.
   
   ## Steps to Reproduce
   - Use SeaTunnel 2.3.13
   - Configure a MongoDB source with Zeta engine, parallelism > 1
   - Have a small collection or cause a MongoDB connection/query failure
   - Observe the stack trace:
   
   ```
   java.lang.NullPointerException at 
org.apache.seatunnel.shade.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:877)
     at 
org.apache.seatunnel.connectors.seatunnel.mongodb.source.reader.MongodbReader.closeCurrentSplit(MongodbReader.java:153)
     at 
org.apache.seatunnel.connectors.seatunnel.mongodb.source.reader.MongodbReader.pollNext(MongodbReader.java:104)
   ```
   
   ## Impact
   - Users and deployers see an NPE and cannot diagnose the *actual* MongoDB 
connector problem.
   - Real database issues are hidden, causing confusion and unnecessary debug 
time.
   
   ## Recommended Fix
   Add a null check before attempting to close the cursor:
   ```java
   private void closeCurrentSplit() {
       if (cursor != null) {
           cursor.close();
           cursor = null;
       }
   }
   ```
   
   ## Additional Notes
   Several downstream mitigations are helpful (force parallelism=1, set 
split-size high, run schema discovery before job submission) but do not address 
the issue for all cases.
   
   A connector-side fix is required to allow real MongoDB errors to surface and 
avoid masking them with a NullPointerException.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to