Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-05-08 Thread Ron Liu
Hi, Dev Thank you all for joining this thread and giving your comments and suggestions, they have helped improve this proposal and I look forward to further feedback. If there are no further comments, I'd like to close the discussion and start the voting one day later. Best, Ron Ron Liu

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-05-07 Thread Ron Liu
Hi, dev Following the recent PoC[1], and drawing on the excellent code design within Flink, I have made the following optimizations to the Public Interfaces section of FLIP: 1. I have renamed WorkflowOperation to RefreshWorkflow. This change better conveys its purpose. RefreshWorkflow is used to

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-05-07 Thread Ron Liu
> 4. It appears that in the section on `public interfaces`, within `WorkflowOperation`, `CreatePeriodicWorkflowOperation` should be changed to `CreateWorkflowOperation`, right? After discussing with Xuyang offline, we need to support periodic workflow and one-time workflow, they need different

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-05-06 Thread Ron Liu
Hi, Xuyang Thanks for joining this discussion > 1. In the sequence diagram, it appears that there is a missing step for obtaining the refresh handler from the catalog during the suspend operation. Good catch > 2. The term "cascade refresh" does not seem to be mentioned in FLIP-435. The

Re:[DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-05-06 Thread Xuyang
Hi, Ron. Thanks for driving this. After reading the entire flip, I have the following questions: 1. In the sequence diagram, it appears that there is a missing step for obtaining the refresh handler from the catalog during the suspend operation. 2. The term "cascade refresh" does not

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-05-04 Thread Ron Liu
Hi, Lincoln Thanks for join this discussion. After rethinking, I think your suggestion is make sense, although currently deleting the workflow on the Scheduler and relying only on the RefreshHandler is enough, if in the future we support cascading deletion, the DeleteWorkflowOperation can

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-30 Thread Lincoln Lee
Thanks Ron for starting this flip! It will complete the user story for flip-435[1]. Regarding the WorkflowOperation, I have a question about whether we should add Delete/DropWorkflowOperation as well for when the Materialized Table is dropped or refresh mode changed from full to continuous? [1]

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-30 Thread lorenzo . affetti
Hello Ron, thank you for your detailed answers! For the Visitor pattern, I thought about it the other way around, so that operations visit the scheduler, and not vice-versa :) In this way operations can get the required information in order to be executed in a tailored way. Thank you for your

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-28 Thread Ron Liu
Hi, Lorenzo > I have a question there: how can the gateway update the refreshHandler in the Catalog before getting it from the scheduler? The refreshHandler in CatalogMateriazedTable is null before getting it from the scheduler, you can look at the CatalogMaterializedTable.Builder[1] for more

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-28 Thread Ron Liu
Hi, Shengkai Thanks for your feedback and suggestion, it looks very useful for this proposal, regarding your question I made the following optimization: > *WorkflowScheduler* > 1. How to get the exception details if `modifyRefreshWorkflow` fails? > 2. Could you give us an example about how to

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-28 Thread Shengkai Fang
Hi, Liu. Thanks for your proposal. I have some questions about the FLIP: *WorkflowScheduler* 1. How to get the exception details if `modifyRefreshWorkflow` fails? 2. Could you give us an example about how to configure the scheduler? *SQL Gateway* 1. SqlGatewayService requires Session as the

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-26 Thread lorenzo . affetti
Hello Ron! > I've updated the FLIP, and added the Outline Design section, to introduce how Materialized Table interacts with the Workflow Scheduler in Full Refresh mode via a timing diagram, it can help to understand this proposal design. Thank you for the additions, the sequence diagram says a

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-25 Thread Ron Liu
Hi, Lorenzo and Feng Thanks for joining this thread discussing. Sorry for later response, regarding your question: > About the Operations interfaces, how can they be empty? Should not they provide at least a `run` or `execute` method (similar to the command pattern)? In this way, their

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-24 Thread Feng Jin
Hi Ron Thank you for initiating this FLIP. My current questions are as follows: 1. From my current understanding, the workflow handle should not be bound to the Dynamic Table. Therefore, if the workflow is modified, does it mean that the scheduling information corresponding to the Dynamic Table

Re: [DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-24 Thread lorenzo . affetti
Hello Ron Liu! Thank you for your FLIP! Here are my considerations: 1. About the Operations interfaces, how can they be empty? Should not they provide at least a `run` or `execute` method (similar to the command pattern)? In this way, their implementation can wrap all the implementations

[DISCUSS] FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table

2024-04-22 Thread Ron Liu
Hi, Dev I would like to start a discussion about FLIP-448: Introduce Pluggable Workflow Scheduler Interface for Materialized Table. In FLIP-435[1], we proposed Materialized Table, which has two types of data refresh modes: Full Refresh & Continuous Refresh Mode. In Full Refresh mode, the