Closed kristoffSC closed 1 year ago
File | Coverage [97.15%] | :green_apple: |
---|---|---|
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
BodyBasedRequestFactory.java | 85.71% | :green_apple: |
GetRequestFactory.java | 83.78% | :green_apple: |
Total Project Coverage | 94.39% | :green_apple: |
---|
File | Coverage [94.87%] | :green_apple: |
---|---|---|
HttpSinkWriter.java | 100% | :green_apple: |
RequestFactoryBase.java | 100% | :green_apple: |
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
JavaNetSinkHttpClient.java | 97.66% | :green_apple: |
JavaNetHttpClientFactory.java | 95.43% | :green_apple: |
BodyBasedRequestFactory.java | 86.36% | :green_apple: |
GetRequestFactory.java | 84.62% | :green_apple: |
HttpSinkInternal.java | 70.54% | :green_apple: |
Total Project Coverage | 94.5% | :green_apple: |
---|
File | Coverage [94.94%] | :green_apple: |
---|---|---|
HttpSinkWriter.java | 100% | :green_apple: |
RequestFactoryBase.java | 100% | :green_apple: |
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
JavaNetSinkHttpClient.java | 97.66% | :green_apple: |
JavaNetHttpClientFactory.java | 95.43% | :green_apple: |
BodyBasedRequestFactory.java | 86.36% | :green_apple: |
GetRequestFactory.java | 84.62% | :green_apple: |
HttpSinkInternal.java | 70.54% | :green_apple: |
Total Project Coverage | 94.48% | :green_apple: |
---|
File | Coverage [94.95%] | :green_apple: |
---|---|---|
HttpSinkWriter.java | 100% | :green_apple: |
RequestFactoryBase.java | 100% | :green_apple: |
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
JavaNetSinkHttpClient.java | 97.66% | :green_apple: |
JavaNetHttpClientFactory.java | 95.43% | :green_apple: |
BodyBasedRequestFactory.java | 86.36% | :green_apple: |
GetRequestFactory.java | 84.62% | :green_apple: |
HttpSinkInternal.java | 70.54% | :green_apple: |
Total Project Coverage | 94.48% | :green_apple: |
---|
File | Coverage [93.63%] | :green_apple: |
---|---|---|
HttpSinkWriter.java | 100% | :green_apple: |
RequestFactoryBase.java | 100% | :green_apple: |
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
ConfigUtils.java | 97.97% | :green_apple: |
JavaNetSinkHttpClient.java | 97.66% | :green_apple: |
JavaNetHttpClientFactory.java | 95.43% | :green_apple: |
JavaNetHttpPollingClient.java | 94.37% | :green_apple: |
SecurityContext.java | 89.29% | :green_apple: |
BodyBasedRequestFactory.java | 86.36% | :green_apple: |
GetRequestFactory.java | 84.62% | :green_apple: |
Slf4JHttpLookupPostRequestCallback.java | 82.88% | :green_apple: |
HttpSinkInternal.java | 70.54% | :green_apple: |
Total Project Coverage | 94.24% | :green_apple: |
---|
File | Coverage [93.63%] | :green_apple: |
---|---|---|
HttpSinkWriter.java | 100% | :green_apple: |
RequestFactoryBase.java | 100% | :green_apple: |
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
ConfigUtils.java | 97.97% | :green_apple: |
JavaNetSinkHttpClient.java | 97.66% | :green_apple: |
JavaNetHttpClientFactory.java | 95.43% | :green_apple: |
JavaNetHttpPollingClient.java | 94.37% | :green_apple: |
SecurityContext.java | 89.29% | :green_apple: |
BodyBasedRequestFactory.java | 86.36% | :green_apple: |
GetRequestFactory.java | 84.62% | :green_apple: |
Slf4JHttpLookupPostRequestCallback.java | 82.88% | :green_apple: |
HttpSinkInternal.java | 70.54% | :green_apple: |
Total Project Coverage | 94.24% | :green_apple: |
---|
File | Coverage [93.63%] | :green_apple: |
---|---|---|
HttpSinkWriter.java | 100% | :green_apple: |
RequestFactoryBase.java | 100% | :green_apple: |
HttpLookupTableSourceFactory.java | 100% | :green_apple: |
AsyncHttpTableLookupFunction.java | 100% | :green_apple: |
HttpDynamicTableSinkFactory.java | 100% | :green_apple: |
ConfigUtils.java | 97.97% | :green_apple: |
JavaNetSinkHttpClient.java | 97.66% | :green_apple: |
JavaNetHttpClientFactory.java | 95.43% | :green_apple: |
JavaNetHttpPollingClient.java | 94.37% | :green_apple: |
SecurityContext.java | 89.29% | :green_apple: |
BodyBasedRequestFactory.java | 86.36% | :green_apple: |
GetRequestFactory.java | 84.62% | :green_apple: |
Slf4JHttpLookupPostRequestCallback.java | 82.88% | :green_apple: |
HttpSinkInternal.java | 70.54% | :green_apple: |
Total Project Coverage | 94.24% | :green_apple: |
---|
Fixes https://github.com/getindata/flink-http-connector/issues/38
The Async version of LookupSource is guarded by two timeout timers.
First one is coming from Flink's AsyncIO operator with default value set to 3 minutes. The second one is set by connect code on HTTP request and currently is set to 2 minutes.
In case of HTTP request timeout, the the task representing this request is not removed from Flink's AsyncIO intenral task queue. This will eventually fill the entire queue (default value 100) and created backpresure on upstream elements.
In case of any timeout or exception coming from Http client, task should be removed from Flink's queue.
In this PR we make sure that for case when we had an Exception from Http Client, we will call
resultFuture.complete
onCompletableFuture
commign from Flink Runtime inAsyncHttpTableLookupFunction.eval
method.this PR also adds a custom thread pools for Http Sink calls, where previously JVM shared ForkJoinPool was used.
At the end, various settings for HTTP and Flink AsyncIO timeouts were extracted to properties.