【问题标题】:PutMongo 1.3.0 - stuck processPutMongo 1.3.0 - 卡住的进程
【发布时间】:2017-12-15 13:10:19
【问题描述】:

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

PutMongo Processor

'nifi 转储'附在下面

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    "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 一点也不熟悉,所以我不能说他们的客户端是如何工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      相关资源
      最近更新 更多