我有一个使用jMeter的批处理测试,他使用HandleHttpRequest向处理器NIFI发送几个HTTP请求(GET),并发送到Topic。
问题是StandardHTTPContextMap返回SERVICE_UNAVAILABLE错误,这似乎发生在数据流的速率超过源记录速率时,但我不确定。
有人知道吗?我丢了一个部分日志:
2016-05-05 15:12:14,064 WARN [Timer-Driven Process Thread-7]
o.a.n.p.PersistentProvenanceRepository The rate of the dataflow is exceeding the provenance recording rate. Slowing down flow to accommodate. Currently, there are 96 journal files (533328812 bytes) and threshold for blocking is 80 (1181116006 bytes)
2016-05-05 15:12:20,310 INFO [Provenance Repository Rollover Thread-2]
o.a.n.p.PersistentProvenanceRepository Successfully merged 16 journal files (46096 records) into single Provenance Log File ./provenance_repository/8913710.prov in 43254 milliseconds
2016-05-05 15:12:20,314 INFO [Provenance Repository Rollover Thread-2] o.a.n.p.PersistentProvenanceRepository Successfully Rolled over Provenance Event file containing 65422 records
2016-05-05 15:12:20,398 INFO [Timer-Driven Process Thread-7]
o.a.n.p.PersistentProvenanceRepository Provenance Repository has now caught up with rolling over journal files. Current number of journal files to be rolled over is 80
2016-05-05 15:12:20,399 INFO [Timer-Driven Process Thread-7]
o.a.n.p.PersistentProvenanceRepository Created new Provenance Event Writers for events starting with ID 9190418
2016-05-05 15:12:21,422 INFO [qtp1693512967-121]
o.a.n.p.standard.HandleHttpRequest HandleHttpRequest[id=3858f0ad-b165-427b-a460-67fbf7cff0d8] Sending back a SERVICE_UNAVAILABLE response to 172.26.60.27; request was GET 172.26.60.27发布于 2016-05-11 11:17:08
您的分析是正确的,您看到的HTTP响应来自HttpContextMap1。特别是“请求Expiration”属性。当请求在Map中超过所配置的数量时,它将使用SERVICE_UNAVAILABLE自动回复。
我对您的问题的猜测是,NiFi太长时间来处理您提交的所有请求,导致源代码回购强制滚动,这是一个“停止世界”事件。因此,您停止处理任何数据6秒(导致请求过期)。
假设您不想接受随机的6秒“停止世界”事件,并且不知道任何关于您的流或配置的信息,您实际上需要缩放或调整您的流。有几种选择是:
https://stackoverflow.com/questions/37160333
复制相似问题