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)

Reply via email to