OpenTSDB 中提供了tsmeta的管理接口, 提供存储元数据信息。
但是当我们再调用该接口时,request body中的内容过长,TSD后端使用的是netty进行网络通信,由于不能一次接收完整,就会出现断包,数据不完整,那么导致Chunked request not supported 异常。
刚开始以为tsd不支持长内容,后来通过官方文档,发现是有相关配置的。
http://opentsdb.net/docs/build/html/user_guide/configuration.html
tsd.http.request.enable_chunked | Boolean | Optional | Whether or not to enable incoming chunk support for the HTTP RPC | false | |
tsd.http.request.max_chunk | Integer | Optional | The maximum request body size to support for incoming HTTP requests when chunking is enabled. | 4096 |
默认情况下TSD不启用 该功能的, 主要还是为了防止客户端的恶意请求吧。
但是项目中确实需要到长内容请求,因此简单修改该配置:
tsd.http.request.enable_chunked = true;
tsd.http.request.max_chunk = 65535;
重启tsd 问题解决!