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]