opensearch-project / opensearch-spark

Spark Accelerator framework ; It enables secondary indices to remote data stores.
Apache License 2.0
12 stars 18 forks source link

[RFC] Flint main class refactor #376

Open noCharger opened 2 weeks ago

noCharger commented 2 weeks ago

Is your feature request related to a problem?

The implementation of FlintREPL and FlintJob classes within Flint tightly couples the storage layer (OpenSearch) with the core functionalities that manage Streaming and Interactive Jobs, such as the queue service and heartbeat publish service. Given OpenSearch's flexibility to serve various roles, this tight coupling does not effectively segregate job control logic from query execution logic. As a result, it complicates error message exposure and thread management, potentially leading to less maintainable code and increased difficulty in troubleshooting.

What solution would you like?

The proposed refactoring involves creating new interfaces to decouple the session and command management functionalities from the OSClient. Here are the key points for Interactive Jobs:

[TODO: @seankao-az ] will add flint indicies related key points:

vamsi-amazon commented 2 weeks ago

can you add some background of existing classes whenever you get time. @noCharger