Haebuk opened a new issue, #6032:
URL: https://github.com/apache/paimon/issues/6032

   ### Search before asking
   
   - [x] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   
   ### Paimon version
   
   1.2.0
   
   ### Compute Engine
   
   - Flink 1.20.0
   - flink-sql-connector-mongodb-cdc-3.4.0.jar
   
   ### Minimal reproduce step
   
   ```bash
   ./bin/flink run \
        lib/paimon-flink-action-1.2.0.jar \
        mongodb_sync_table \
        --warehouse 'file:///tmp/paimon' \
        --database default \
        --table mongo-test \
        --mongodb_conf hosts=mongodb+srv://<endpoint>\
        --mongodb_conf username=<id>\
        --mongodb_conf password=<pw>\
        --mongodb_conf database=<db>\
        --mongodb_conf collection=<coll>
   ```
   
   ### What doesn't meet your expectations?
   
   The action should successfully parse the mongodb+srv:// connection string, 
connect to the MongoDB Atlas cluster, and begin the table synchronization.
   
   But the program terminates with the following exception:
   ```
   ------------------------------------------------------------
    The program finished with the following exception:
   
   org.apache.flink.client.program.ProgramInvocationException: The main method 
caused an error: The connection string contains an invalid host 'mongodb+srv:'. 
The port '' is not a valid, it must be an integer between 0 and 65535
        at 
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:373)
        at 
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:223)
        at 
org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:113)
        at 
org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:1026)
        at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:247)
        at 
org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1270)
        at 
org.apache.flink.client.cli.CliFrontend.lambda$mainInternal$10(CliFrontend.java:1367)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
        at java.base/javax.security.auth.Subject.doAs(Subject.java:439)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1836)
        at 
org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
        at 
org.apache.flink.client.cli.CliFrontend.mainInternal(CliFrontend.java:1367)
        at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1335)
   Caused by: java.lang.IllegalArgumentException: The connection string 
contains an invalid host 'mongodb+srv:'. The port '' is not a valid, it must be 
an integer between 0 and 65535
        at com.mongodb.ConnectionString.validatePort(ConnectionString.java:1189)
        at com.mongodb.ConnectionString.parseHosts(ConnectionString.java:1169)
        at com.mongodb.ConnectionString.<init>(ConnectionString.java:396)
        at com.mongodb.ConnectionString.<init>(ConnectionString.java:321)
        at 
org.apache.paimon.flink.action.cdc.mongodb.MongodbSchemaUtils.getMongodbSchema(MongodbSchemaUtils.java:104)
        at 
org.apache.paimon.flink.action.cdc.mongodb.MongoDBSyncTableAction.retrieveSchema(MongoDBSyncTableAction.java:63)
        at 
org.apache.paimon.flink.action.cdc.SyncTableActionBase.beforeBuildingSourceSink(SyncTableActionBase.java:142)
        at 
org.apache.paimon.flink.action.cdc.SynchronizationActionBase.build(SynchronizationActionBase.java:116)
        at 
org.apache.paimon.flink.action.cdc.SynchronizationActionBase.run(SynchronizationActionBase.java:219)
        at 
org.apache.paimon.flink.action.FlinkActions.main(FlinkActions.java:41)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at 
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:356)
        ... 12 more
   
   ```
   
   ### Anything else?
   
   To improve compatibility with modern MongoDB environments like Atlas, the 
connection logic should be updated to support the mongodb+srv:// scheme in the 
hosts configuration.
   
   ### Are you willing to submit a PR?
   
   - [x] I'm willing to submit a PR!


-- 
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: issues-unsubscr...@paimon.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to