MongoDB changestream throws MongoCommandException: Команда завершилась с ошибкой 10334 (Location10334): 'Размер BSONObj: 17859998 (0x110859E) недопустим - PullRequest
0 голосов
/ 30 ноября 2018

Я слушаю поток изменений MongoDB 3.6, это исключение, которое я выполняю.

com.mongodb.MongoCommandException: Команда завершилась ошибкой 10334 (Location10334): 'Размер BSONObj: 17859998 (0x110859E) недопустим,Размер должен быть от 0 до 16793600 (16 МБ). Первый элемент: fullDocument: {_id: "d90c5050-f463-421c-a3a5-235f27ba8e2a", ................................} в com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException (ProtocolHelper.java:179) в com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse (InternalStreamConnection.java:293) в com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive (InternalStreamConnection.java:255) в com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceive (UsageTrackingInternalConnection.java:99) в com.mongconf.PooledConnection.sendAndReceive (DefaultConnectionPool.java:444) по адресу com.mongodb.internal.connection.CommandProtocolImpl.execute (CommandProtocolImpl.java:72) по адресу com.mongodb.internal.connection.DefaultServer $ DefaultServerExecute.Exec.Net: DefaultServerExecuteec: 200на com.mongodb.internal.connection.DefaultServerConnection.executeProtocol (DefaultServerConnection.java:269) в com.mongodb.internal.connection.DefaultServerConnection.command (DefaultServerConnection.java:131) в com.mongodb.internal.connection.DefaultServerConnection.command (DefaultServerConnection.java.mongb at at).operation.CommandOperationHelper.executeWrappedCommandProtocol (CommandOperationHelper.java:242) в com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol (CommandOperationHelper.java:233) в com.mongodb.operation.Welmongodb.operation.AggregateOperationImpl $ 1.call (AggregateOperationImpl.java:193) в com.mongodb.operation.AggregateOperationImpl $ 1.call (AggregateOperationImpl.java:189) в com.mongodb.operation.OperationHelper.javaв com.mongodb.operation.OperationHelper.withConnection (OperationHelper.java:401) в com.mongodb.operation.AggregateOperationImpl.execute (AggregateOperationImpl.java:189) в com.mongodb.operation.ChangeStreamOperation.execute (ChangeStreamOperation.java:264) в com.mongodb.operation.ChangeStreamOperation.execute (ChangeStreamOperation.java:55) в com.mongodb.client.internal.MongoClient$ DelegateOperationExecutor.execute (MongoClientDelegate.java:179) по адресу com.mongodb.client.internal.MongoIterableImpl.execute (MongoIterableImpl.java:132) по адресу com.mongodb.client.internal.MongoIterableImpl .jmpl.com.snaplogic.cascade.MongoDBChangeListener.run (MongoDBChangeListener.java:117)

Вот вопросы.1- Это тот же документ, который вставлен в источник MonogoDB, почему он жалуется сейчас, когда мы слушаем изменения в потоке?2. Предположим, что нет способа подавить его, есть ли способ пропустить документ из ChangeStreamIterable, если есть исключение?3- Есть ли способ действительно решить эту проблему на уровне драйвера Java MongoDB, по крайней мере, я могу перекомпилировать исходный код с исправлением.

...