waterWang opened a new pull request, #11754:
URL: https://github.com/apache/seatunnel/pull/11754

   ### Purpose of this pull request
   
   Fix the Pulsar source text format support. The source contract, factory 
OptionRule, and docs all claimed `format = text` was supported, but 
`validateFormat()` rejected it and `createDeserialization()` had no `TEXT` 
branch.
   
   ### Why this is needed
   
   Pulsar Source option contract and factory OptionRule claim that `format = 
text` is supported, but the runtime validation and deserialization path reject 
it. Configuring Pulsar Source with `format = text` fails during config 
validation or source initialization.
   
   - `PulsarMultiTableConfig.validateFormat()` only allowed JSON, CANAL_JSON 
and AVRO — added TEXT
   - `PulsarSource.createDeserialization()` had no TEXT branch — added 
TextDeserializationSchema
   - Pass `field_delimiter` from config to createDeserialization for text 
format parsing
   
   ### Changes
   
   1. **PulsarMultiTableConfig.java**: Added `"TEXT"` to the allowed formats in 
`validateFormat()`
   2. **PulsarSource.java**: Added `"TEXT"` case in `createDeserialization()` 
using `TextDeserializationSchema` from the already-present 
`seatunnel-format-text` dependency
   
   Note: Pulsar **Sink** already supports text format via 
`TextSerializationSchema`. The dependency `seatunnel-format-text` is already 
present in `connector-pulsar`.
   
   Closes #11620
   
   [fj4WqyCCw3C5ShR1RfB7MoBPTpkRrBFYP1uT35g3MvT]


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to