Bharath Reddy Gunapati created FLINK-40229:
----------------------------------------------
Summary: Introduce HttpSinkConfig and wire core sink options via
ReadableConfig
Key: FLINK-40229
URL: https://issues.apache.org/jira/browse/FLINK-40229
Project: Flink
Issue Type: Improvement
Components: Connectors / HTTP
Reporter: Bharath Reddy Gunapati
HTTP lookup uses {{HttpLookupConfig}} ({{{}Configuration{}}} +
{{{}Properties{}}}, serializable) and reads typed options at runtime. HTTP sink
still passes {{Properties}} end-to-end; {{ReadableConfig}} is only used for
{{url}} and {{{}insert-method{}}}. This causes config drift — for example,
{{SINK_REQUEST_TIMEOUT}} is declared as {{ConfigOption<Duration>}} but
submitters still read from Properties.
Introduce {{HttpSinkConfig}} mirroring {{{}HttpLookupConfig{}}}. Build it in
{{HttpDynamicTableSinkFactory}} and thread it through {{HttpDynamicSink}} →
{{HttpSinkBuilder}} → {{HttpSinkInternal}} → request submitters. Wire
{{SINK_REQUEST_TIMEOUT}} from {{{}ReadableConfig{}}}. Fix writer thread-pool
default mismatch (code default 4, documentation default 1).
Acceptance criteria:
* {{HttpSinkConfig}} exists and is serializable
* Sink runtime reads request timeout from {{{}ReadableConfig{}}}, not
Properties string parsing
* Writer thread-pool default matches documentation (1)
* Factory registers and validates options wired in this ticket
* Existing sink tests pass
* New unit tests cover config wiring and serialization
Test plan:
* {{HttpSinkConfigSerializationTest}} (mirror
{{{}HttpLookupConfigSerializationTest{}}})
* Factory test: valid/invalid {{SINK_REQUEST_TIMEOUT}}
* Unit test: submitter receives {{Duration}} from config, not Properties
* Unit test: writer thread-pool default is 1 when option unset
* Full {{mvn test}} for connector-http module green
--
This message was sent by Atlassian Jira
(v8.20.10#820010)