Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(SmartModule): Initial support for SmartEngine v2 #2610

Closed
wants to merge 28 commits into from

Conversation

sehz
Copy link
Contributor

@sehz sehz commented Sep 11, 2022

Introducing SmartModule with Init. Init allows SmartModule to have the configuration lifecycle vs. runtime.

V2 SmartEngine has the following primitives:

  • SmartModuleChainBuilder
  • SmartModuleChainInstance
  • Transforms

Use SmartChainBuilder to build a SmartModule chain. A chain can consist of multiple SmartModule. For now, only a SmartModule is processed but can expand to multiple SmartModule soon. If at least one SmartModule is in the chain, it can be turned into ChainInstance by initializing. During initialization, the configuration parameter associated with each SmartModule is passed to "Init" in each SmartModule. During the initialization phase, the SmartModule can do whatever it needs to configure. Once the instance is initialized, it can process records by SPU, Connector, or other records feeder.

Major changes are

  • SmartModule parameters are no longer passed to transforms. It is only passed to Init.
  • Introduce the "Init" section in the SmartModule declaration.
  • File batch processing is migrated to SPU only. SmartEngine only handles the records from now on.
  • Join Transform API still exists but is not supported now. It will be added back later
  • Lots of API and structure name cleanup to clarify meanings

@sehz sehz marked this pull request as draft September 11, 2022 06:25
@sehz sehz force-pushed the smartmodule_init branch 2 times, most recently from 33f4407 to 4cbc5e7 Compare September 21, 2022 04:57
@sehz sehz marked this pull request as ready for review September 22, 2022 04:15
@sehz sehz changed the title feat(SmartModule): Add support for Smart-module init feat(SmartModule): Initial support for SmartEngine v2 Sep 22, 2022
@sehz sehz added this to the 0.9.34 milestone Sep 22, 2022
@sehz
Copy link
Contributor Author

sehz commented Sep 22, 2022

bors r+

bors bot pushed a commit that referenced this pull request Sep 22, 2022
Introducing SmartModule with Init.  Init allows SmartModule to have the configuration lifecycle vs. runtime.

V2 SmartEngine has the following primitives:
* SmartModuleChainBuilder
* SmartModuleChainInstance
* Transforms

Use `SmartChainBuilder` to build a SmartModule chain. A chain can consist of multiple SmartModule.  For now, only a SmartModule is processed but can expand to multiple SmartModule soon.  If at least one SmartModule is in the chain, it can be turned into `ChainInstance` by initializing.  During initialization, the configuration parameter associated with each SmartModule is passed to "Init" in each SmartModule.  During the initialization phase, the SmartModule can do whatever it needs to configure.  Once the instance is initialized, it can process records by SPU, Connector, or other records feeder. 

Major changes are
* SmartModule parameters are no longer passed to transforms.  It is only passed to Init.  
* Introduce the "Init" section in the SmartModule declaration.
* File batch processing is migrated to SPU only.  SmartEngine only handles the records from now on.
* Join Transform API still exists but is not supported now.  It will be added back later
* Lots of API and structure name cleanup to clarify meanings
@bors
Copy link

bors bot commented Sep 22, 2022

Build failed:

@sehz
Copy link
Contributor Author

sehz commented Sep 23, 2022

bors r+

bors bot pushed a commit that referenced this pull request Sep 23, 2022
Introducing SmartModule with Init.  Init allows SmartModule to have the configuration lifecycle vs. runtime.

V2 SmartEngine has the following primitives:
* SmartModuleChainBuilder
* SmartModuleChainInstance
* Transforms

Use `SmartChainBuilder` to build a SmartModule chain. A chain can consist of multiple SmartModule.  For now, only a SmartModule is processed but can expand to multiple SmartModule soon.  If at least one SmartModule is in the chain, it can be turned into `ChainInstance` by initializing.  During initialization, the configuration parameter associated with each SmartModule is passed to "Init" in each SmartModule.  During the initialization phase, the SmartModule can do whatever it needs to configure.  Once the instance is initialized, it can process records by SPU, Connector, or other records feeder. 

Major changes are
* SmartModule parameters are no longer passed to transforms.  It is only passed to Init.  
* Introduce the "Init" section in the SmartModule declaration.
* File batch processing is migrated to SPU only.  SmartEngine only handles the records from now on.
* Join Transform API still exists but is not supported now.  It will be added back later
* Lots of API and structure name cleanup to clarify meanings
@bors
Copy link

bors bot commented Sep 23, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(SmartModule): Initial support for SmartEngine v2 [Merged by Bors] - feat(SmartModule): Initial support for SmartEngine v2 Sep 23, 2022
@bors bors bot closed this Sep 23, 2022
@sehz sehz deleted the smartmodule_init branch September 26, 2022 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant