zhztheplayer opened a new pull request, #8143:
URL: https://github.com/apache/incubator-gluten/pull/8143

   This is the API layer implementation of #6920.
   
   The PR introduces a new concept `Component` int Gluten and adjusts the role 
of current concept `Backend`.
   
   After the change, `Backend` API will become a special variant of `Component` 
API. Details are as below:
   
   1. Dependency 
      - `Component` should have at least one parent. Each parent can either be 
another `Component` or `Backend`.
      - `Backend` doesn't have any parents.
   2. `Component` and `Backend` instances are used as exactly the same manner 
in Gluten. Gluten treats them all as regular components.
   3. Having `Component`'s parents defined, Gluten will figure out a fixed 
order / priority of using the components. For exmaple:
      - A component's parent's loading APIs, namely `onDriverStart` / 
`onExecutorStart`, will be guaranteed to call **EARLIER** than the same APIs of 
the child.
      - A component's parent's rule injection API, namely `injectRules`, will 
be guaranteed to call **LATER** than the same API of the child.
   
   In subsequent PRs of #6920, we will:
   
   1. Make iceberg / hudi / delta implement component API, remove the previous 
rule injection points used by their code.
   2. Make uniffle / celeborn implement component API, remove the previous rule 
injection points by used their code.
   3. Add an example backend to work with Velox backend.
   
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to