wgzhao / Addax

Addax is a versatile open-source ETL tool that can seamlessly transfer data between various RDBMS and NoSQL databases, making it an ideal solution for data migration.

Home Page:https://wgzhao.github.io/Addax/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug]: mongoDB 写入 mongoDB 报错:Command failed with error 18 (AuthenticationFailed)

beat4ocean opened this issue · comments

What happened?

A bug happened!

Version

4.1.3 (Default)

OS Type

No response

Java JDK Version

Oracle JDK 1.8.0

Relevant log output

版本 4.1.4
2024-04-27 19:12:50 [AnalysisStatistics.analysisStatisticsLog-53] :: Addax version ::    (v4.1.4)
2024-04-27 19:12:50 [AnalysisStatistics.analysisStatisticsLog-53] 
 2024-04-27 19:12:51.180 [        main] INFO  VMInfo               - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl
 2024-04-27 19:12:51.204 [        main] INFO  Engine               - 
 {
 	"content":{
 		"reader":{
 			"parameter":{
 				"password":"*****",
 				"column":[
 					"_id",
 					"id",
 					"name"
 				],
 				"connection":[
 					{
 						"database":"mydb",
 						"address":[
 							"localhost:27017"
 						],
 						"collection":"mytb",
 						"authDb":"admin"
 					}
 				],
 				"username":"rootuser"
 			},
 			"name":"mongodbreader"
 		},
 		"writer":{
 			"parameter":{
 				"password":"*****",
 				"column":[
 					{
 						"name":"_id",
 						"type":"ObjectId"
 					},
 					{
 						"name":"id",
 						"type":"Integer"
 					},
 					{
 						"name":"name",
 						"type":"String"
 					}
 				],
 				"connection":[
 					{
 						"database":"mydb",
 						"address":[
 							"localhost:27017"
 						],
 						"collection":"mytb",
 						"authDb":"admin"
 					}
 				],
 				"username":"rootuser"
 			},
 			"name":"mongodbwriter",
 			"writeMode":"insert"
 		}
 	},
 	"setting":{
 		"errorLimit":{
 			"record":0,
 			"percentage":0.02
 		},
 		"speed":{
 			"byte":1048576,
 			"channel":3
 		}
 	}
 }
 
 2024-04-27 19:12:51.226 [        main] INFO  JobContainer         - The jobContainer begins to process the job.
 2024-04-27 19:12:51.516 [       job-0] INFO  cluster              - Cluster created with settings {hosts=[localhost:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
 2024-04-27 19:12:51.517 [       job-0] INFO  cluster              - Adding discovered server localhost:27017 to client view of cluster
 2024-04-27 19:12:51.572 [       job-0] INFO  JobContainer         - The Reader.Job [mongodbreader] perform prepare work .
 2024-04-27 19:12:51.574 [       job-0] INFO  JobContainer         - The Writer.Job [mongodbwriter] perform prepare work .
 2024-04-27 19:12:51.626 [cluster-ClusterId{value='662cddb3719317124d72c32b', description='null'}-localhost:27017] INFO  connection           - Opened connection [connectionId{localValue:1, serverValue:30}] to localhost:27017
 2024-04-27 19:12:51.629 [cluster-ClusterId{value='662cddb3719317124d72c32b', description='null'}-localhost:27017] INFO  cluster              - Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 4, 24]}, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=null, roundTripTimeNanos=1375328}
 2024-04-27 19:12:51.630 [cluster-ClusterId{value='662cddb3719317124d72c32b', description='null'}-localhost:27017] INFO  cluster              - Discovered cluster type of STANDALONE
 2024-04-27 19:12:51.657 [       job-0] INFO  cluster              - Cluster created with settings {hosts=[localhost:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
 2024-04-27 19:12:51.657 [       job-0] INFO  cluster              - Adding discovered server localhost:27017 to client view of cluster
 2024-04-27 19:12:51.763 [       job-0] INFO  JobContainer         - Job set Max-Byte-Speed to 1048576 bytes.
 2024-04-27 19:12:51.806 [cluster-ClusterId{value='662cddb36f6a1c7b79ee8e8c', description='null'}-localhost:27017] INFO  connection           - Opened connection [connectionId{localValue:1, serverValue:31}] to localhost:27017
 2024-04-27 19:12:51.809 [cluster-ClusterId{value='662cddb36f6a1c7b79ee8e8c', description='null'}-localhost:27017] INFO  cluster              - Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 4, 24]}, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=null, roundTripTimeNanos=1367654}
 2024-04-27 19:12:51.811 [cluster-ClusterId{value='662cddb36f6a1c7b79ee8e8c', description='null'}-localhost:27017] INFO  cluster              - Discovered cluster type of STANDALONE
 2024-04-27 19:12:51.881 [       job-0] INFO  connection           - Opened connection [connectionId{localValue:2, serverValue:32}] to localhost:27017
 2024-04-27 19:12:51.894 [       job-0] INFO  JobContainer         - The Reader.Job [mongodbreader] is divided into [1] task(s).
 2024-04-27 19:12:51.895 [       job-0] INFO  JobContainer         - The Writer.Job [mongodbwriter] is divided into [1] task(s).
 2024-04-27 19:12:51.929 [       job-0] INFO  JobContainer         - The Scheduler launches [1] taskGroup(s).
 2024-04-27 19:12:51.938 [ taskGroup-0] INFO  TaskGroupContainer   - The taskGroupId=[0] started [1] channels for [1] tasks.
 2024-04-27 19:12:51.946 [ taskGroup-0] INFO  Channel              - The Channel set byte_speed_limit to 4096000.
 2024-04-27 19:12:51.946 [ taskGroup-0] INFO  Channel              - The Channel set record_speed_limit to 100000.
 2024-04-27 19:12:51.965 [  reader-0-0] INFO  cluster              - Cluster created with settings {hosts=[localhost:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
 2024-04-27 19:12:51.967 [  reader-0-0] INFO  cluster              - Adding discovered server localhost:27017 to client view of cluster
 2024-04-27 19:12:51.969 [  writer-0-0] INFO  cluster              - Cluster created with settings {hosts=[localhost:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
 2024-04-27 19:12:51.970 [  writer-0-0] INFO  cluster              - Adding discovered server localhost:27017 to client view of cluster
 2024-04-27 19:12:51.978 [  reader-0-0] INFO  cluster              - Cluster description not yet available. Waiting for 30000 ms before timing out
 2024-04-27 19:12:52.014 [cluster-ClusterId{value='662cddb3719317124d72c32c', description='null'}-localhost:27017] INFO  connection           - Opened connection [connectionId{localValue:3, serverValue:33}] to localhost:27017
 2024-04-27 19:12:52.016 [cluster-ClusterId{value='662cddb3719317124d72c32c', description='null'}-localhost:27017] INFO  cluster              - Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 4, 24]}, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=null, roundTripTimeNanos=1152135}
 2024-04-27 19:12:52.017 [cluster-ClusterId{value='662cddb36f6a1c7b79ee8e8d', description='null'}-localhost:27017] INFO  connection           - Opened connection [connectionId{localValue:2, serverValue:34}] to localhost:27017
 2024-04-27 19:12:52.017 [cluster-ClusterId{value='662cddb3719317124d72c32c', description='null'}-localhost:27017] INFO  cluster              - Discovered cluster type of STANDALONE
 2024-04-27 19:12:52.020 [cluster-ClusterId{value='662cddb36f6a1c7b79ee8e8d', description='null'}-localhost:27017] INFO  cluster              - Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 4, 24]}, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=null, roundTripTimeNanos=1635613}
 2024-04-27 19:12:52.020 [cluster-ClusterId{value='662cddb36f6a1c7b79ee8e8d', description='null'}-localhost:27017] INFO  cluster              - Discovered cluster type of STANDALONE
 2024-04-27 19:12:52.056 [  reader-0-0] INFO  connection           - Opened connection [connectionId{localValue:4, serverValue:35}] to localhost:27017
 2024-04-27 19:12:52.285 [  writer-0-0] ERROR StdoutPluginCollector - The dirty data: {"record":[{"byteSize":24,"rawData":"662bce10a2e7421da49d6d7a","type":"STRING"},{"byteSize":8,"rawData":1,"type":"LONG"},{"byteSize":4,"rawData":"John","type":"STRING"}],"type":"writer","message":"record's [1] column's type should be: Integer"}
 2024-04-27 19:12:52.330 [  writer-0-0] ERROR WriterRunner         - Writer Runner Received Exceptions:
 com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='rootuser', source='mydb', password=<hidden>, mechanismProperties=<hidden>}
 	at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:201)
 	at com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:78)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47)
 	at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:207)
 	at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47)
 	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:156)
 	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)
 	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)
 	at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50)
 	at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:398)
 	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115)
 	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:101)
 	at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:92)
 	at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:133)
 	at com.mongodb.operation.OperationHelper.withReleasableConnection(OperationHelper.java:501)
 	at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:196)
 	at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:71)
 	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:216)
 	at com.mongodb.client.internal.MongoCollectionImpl.executeInsertMany(MongoCollectionImpl.java:529)
 	at com.mongodb.client.internal.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:513)
 	at com.mongodb.client.internal.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:508)
 	at com.wgzhao.addax.plugin.writer.mongodbwriter.MongoDBWriter$Task.doBatchInsert(MongoDBWriter.java:409)
 	at com.wgzhao.addax.plugin.writer.mongodbwriter.MongoDBWriter$Task.startWrite(MongoDBWriter.java:236)
 	at com.wgzhao.addax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:77)
 	at java.lang.Thread.run(Thread.java:750)
 Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server localhost:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
 	at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175)
 	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:302)
 	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:258)
 	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.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:158)
 	at com.mongodb.internal.connection.SaslAuthenticator.access$100(SaslAuthenticator.java:40)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:54)
 	... 23 common frames omitted
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] 2024-04-27 19:12:54.948 [       job-0] ERROR JobContainer         - The scheduler failed to run.
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] 2024-04-27 19:12:54.954 [       job-0] INFO  StandAloneJobContainerCommunicator - Total 1 records, 36 bytes | Speed 36B/s, 1 records/s | Error 1 records, 36 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 0.00%
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] 2024-04-27 19:12:54.955 [       job-0] ERROR Engine               - com.wgzhao.addax.common.exception.AddaxException: The number of dirty data records did not pass the check. The limit is [0] records, but [1] records were actually captured.
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] ==================== DEPRECATED WARNING ========================
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] addax.py is deprecated, It's going to be removed in future release.
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] As a replacement, you can use addax.sh to run job
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] ==================== DEPRECATED WARNING ========================
2024-04-27 19:12:54 [AnalysisStatistics.analysisStatisticsLog-53] 
 Exception in thread "taskGroup-0" com.wgzhao.addax.common.exception.AddaxException: com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='rootuser', source='mydb', password=<hidden>, mechanismProperties=<hidden>}
 	at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:201)
 	at com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:78)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47)
 	at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:207)
 	at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47)
 	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:156)
 	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)
 	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)
 	at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50)
 	at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:398)
 	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115)
 	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:101)
 	at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:92)
 	at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:133)
 	at com.mongodb.operation.OperationHelper.withReleasableConnection(OperationHelper.java:501)
 	at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:196)
 	at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:71)
 	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:216)
 	at com.mongodb.client.internal.MongoCollectionImpl.executeInsertMany(MongoCollectionImpl.java:529)
 	at com.mongodb.client.internal.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:513)
 	at com.mongodb.client.internal.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:508)
 	at com.wgzhao.addax.plugin.writer.mongodbwriter.MongoDBWriter$Task.doBatchInsert(MongoDBWriter.java:409)
 	at com.wgzhao.addax.plugin.writer.mongodbwriter.MongoDBWriter$Task.startWrite(MongoDBWriter.java:236)
 	at com.wgzhao.addax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:77)
 	at java.lang.Thread.run(Thread.java:750)
 Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server localhost:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
 	at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175)
 	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:302)
 	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:258)
 	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.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:158)
 	at com.mongodb.internal.connection.SaslAuthenticator.access$100(SaslAuthenticator.java:40)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:54)
 	... 23 more
 
 	at com.wgzhao.addax.common.exception.AddaxException.asAddaxException(AddaxException.java:66)
 	at com.wgzhao.addax.core.taskgroup.TaskGroupContainer.start(TaskGroupContainer.java:188)
 	at com.wgzhao.addax.core.taskgroup.runner.TaskGroupContainerRunner.run(TaskGroupContainerRunner.java:44)
 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 	at java.lang.Thread.run(Thread.java:750)
 Caused by: com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='rootuser', source='mydb', password=<hidden>, mechanismProperties=<hidden>}
 	at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:201)
 	at com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:78)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47)
 	at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:207)
 	at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47)
 	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:156)
 	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)
 	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)
 	at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50)
 	at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:398)
 	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115)
 	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:101)
 	at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:92)
 	at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:133)
 	at com.mongodb.operation.OperationHelper.withReleasableConnection(OperationHelper.java:501)
 	at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:196)
 	at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:71)
 	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:216)
 	at com.mongodb.client.internal.MongoCollectionImpl.executeInsertMany(MongoCollectionImpl.java:529)
 	at com.mongodb.client.internal.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:513)
 	at com.mongodb.client.internal.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:508)
 	at com.wgzhao.addax.plugin.writer.mongodbwriter.MongoDBWriter$Task.doBatchInsert(MongoDBWriter.java:409)
 	at com.wgzhao.addax.plugin.writer.mongodbwriter.MongoDBWriter$Task.startWrite(MongoDBWriter.java:236)
 	at com.wgzhao.addax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:77)
 	... 1 more
 Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server localhost:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
 	at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175)
 	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:302)
 	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:258)
 	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.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:158)
 	at com.mongodb.internal.connection.SaslAuthenticator.access$100(SaslAuthenticator.java:40)
 	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:54)
 	... 23 more
 com.wgzhao.addax.common.exception.AddaxException: The number of dirty data records did not pass the check. The limit is [0] records, but [1] records were actually captured.
 	at com.wgzhao.addax.common.exception.AddaxException.asAddaxException(AddaxException.java:50)
 	at com.wgzhao.addax.core.util.ErrorRecordChecker.checkRecordLimit(ErrorRecordChecker.java:77)
 	at com.wgzhao.addax.core.job.scheduler.AbstractScheduler.schedule(AbstractScheduler.java:99)
 	at com.wgzhao.addax.core.job.JobContainer.schedule(JobContainer.java:440)
 	at com.wgzhao.addax.core.job.JobContainer.start(JobContainer.java:128)
 	at com.wgzhao.addax.core.Engine.start(Engine.java:61)
 	at com.wgzhao.addax.core.Engine.entry(Engine.java:112)
 	at com.wgzhao.addax.core.Engine.main(Engine.java:139)
2024-04-27 19:12:55 [JobThread.run-165] <br>----------- datax-web job execute end(finish) -----------<br>----------- ReturnT:ReturnT [code=500, msg=command exit value(2) is failed, content=null]
2024-04-27 19:12:55 [TriggerCallbackThread.callbackLog-186] <br>----------- datax-web job callback finish.

从日志来看,这是 MongoDB 的 JDBC 驱动给出的认证失败错误,请确认账号密码正确,且有正确的写入权限

显然有的撒