PutMongo 1.3.0 - 卡住了进程

时间:2017-12-15 13:10:20

标签: multithreading mongodb jvm apache-nifi thread-dump

任何想法,因为我的PutMongo处理器卡住了?

PutMongo Processor

'nifi dump'附在

之下
[nifi.sh dump][1]
  [1]: https://pastebin.com/raw/b2QDeg0H

谢谢!

1 个答案:

答案 0 :(得分:0)

相关的线程转储部分是这个......

"Timer-Driven Process Thread-3" Id=56 RUNNABLE  (in native code)
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at com.mongodb.connection.SocketStream.write(SocketStream.java:75)
    at com.mongodb.connection.InternalStreamConnection.sendMessage(InternalStreamConnection.java:201)
    at com.mongodb.connection.UsageTrackingInternalConnection.sendMessage(UsageTrackingInternalConnection.java:95)
    at com.mongodb.connection.DefaultConnectionPool$PooledConnection.sendMessage(DefaultConnectionPool.java:424)
    at com.mongodb.connection.WriteProtocol.execute(WriteProtocol.java:103)
    at com.mongodb.connection.UpdateProtocol.execute(UpdateProtocol.java:67)
    at com.mongodb.connection.UpdateProtocol.execute(UpdateProtocol.java:42)
    at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:159)
    at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:286)
    at com.mongodb.connection.DefaultServerConnection.update(DefaultServerConnection.java:85)
    at com.mongodb.operation.MixedBulkWriteOperation$Run$3.executeWriteProtocol(MixedBulkWriteOperation.java:475)
    at com.mongodb.operation.MixedBulkWriteOperation$Run$RunExecutor.execute(MixedBulkWriteOperation.java:655)
    at com.mongodb.operation.MixedBulkWriteOperation$Run.execute(MixedBulkWriteOperation.java:399)
    at com.mongodb.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:179)
    at com.mongodb.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:168)
    at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:230)
    at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:221)
    at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:168)
    at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:74)
    at com.mongodb.Mongo.execute(Mongo.java:781)
    at com.mongodb.Mongo$2.execute(Mongo.java:764)
    at com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:515)
    at com.mongodb.MongoCollectionImpl.replaceOne(MongoCollectionImpl.java:344)
    at org.apache.nifi.processors.mongodb.PutMongo.onTrigger(PutMongo.java:175)

由于某种网络问题或Mongo的反应迟钝,它可能会被阻止。

理想情况下,NiFi使用的Mongo客户端会有一些可以配置的超时,这些超时应该在处理器中公开,这样我们就不会无限期地阻止。

我根本不熟悉Mongo,所以我不能说他们的客户是如何运作的。