Hi Gabor,

Thanks for the FLIP! It's very convenient for users to use SQL to read
checkpoint data, so overall I'd +1 for this FLIP. Here are my
thoughts/questions:

   1. I see this connector is designed to read the checkpoint/savepoint
   data, so I'd suggest naming this connector as 'checkpoint' or 'savepoint',
   which is more intuitive. The "connector='state'" makes me think this is
   reading the runtime state. Also the 'state.path' can be changed to
   'checkpoint.path'.
   2. IIUC this connector is a bounded source and batch execution is
   preferred, right? And it cannot read checkpoints while the original job is
   running and doing periodic checkpoints. Thus I'd prefer the name
   'savepoint', as the lifecycle of savepoints is managed by the user instead
   of the Flink job.
   3. As you pictured, there might be more connectors for states other than
   keyed state, so I'm thinking about providing them in one connector with an
   option 'state.type' enumerating 'keyed',  'non-keyed' ('operator'), and so
   on. Well for the first version this is not a required option. Seems more
   organized. WDYT?
   4. I'm not sure if the general option 'key.format' is needed, would
   using 'fields.k.format' while the 'k' is the name of the SQL primary column
   be feasible?
   5. Reading window state[1] is unsupported, right?


[1]
https://nightlies.apache.org/flink/flink-docs-master/docs/libs/state_processor_api/#window-state

Best,
Zakelly

On Wed, Dec 18, 2024 at 5:46 PM Gabor Somogyi <gabor.g.somo...@gmail.com>
wrote:

> Hi All,
>
> I'd like to start a discussion of FLIP-496: SQL connector for keyed state
> data [1].
> Feel free to add your thoughts to make this feature better.
>
> [1]
>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-496%3A+SQL+connector+for+keyed+state+data
>
> BR,
> G
>

Reply via email to