关于drill http存储插件http 超时的一些说明

默认http 存储插件的配置,参考

{
  "type": "http",
  "cacheResults": false,
  "connections": {
    "sunrise": {
      "url": "https://api.sunrise-sunset.org/json",
      "method": "GET",
      "headers": null,
      "authType": "none",
      "userName": null,
      "password": null,
      "postBody": null,
      "params": [
        "lat",
        "lng",
        "date"
      ],
      "dataPath": "results",
      "requireTail": false,
      "inputType": "json"
    }
  },
  "timeout": 0,
  "proxyHost": null,
  "proxyPort": 0,
  "proxyType": "direct",
  "proxyUsername": null,
  "proxyPassword": null,
  "enabled": true
} 

按照官方的说法是

timeout: Sets the response timeout in seconds. Defaults to 0 which is no timeout.

说法是没有超时,但是实际上我们的http 调用是很容易超时的,解决方法,指定timeout 值,比如:

{
  "type": "http",
  "cacheResults": false,
  "connections": {
    "deps": {
      "url": "http://restapi/",
      "method": "GET",
      "headers": {
        "Accept": "application/json"
      },
      "authType": "none",
      "userName": null,
      "password": null,
      "postBody": null,
      "params": null,
      "requireTail": false,
      "inputType": "json"
    }
  },
  "timeout": 60,
  "proxyHost": null,
  "proxyPort": 0,
  "proxyType": "direct",
  "proxyUsername": null,
  "proxyPassword": null,
  "enabled": true
}

参考资料

https://github.com/apache/drill/tree/master/contrib/storage-http

原文地址:https://www.cnblogs.com/rongfengliang/p/13806306.html