wolfstudy opened a new issue #4176: [pulsar function] refactor function runtime
URL: https://github.com/apache/pulsar/issues/4176
 
 
   **Is your feature request related to a problem? Please describe.**
   
   When writing the go function, I realized that the function runtime has some 
places that are not very reasonable, for example:
   
   What does the runtime mean? 
   
   - Is java python or golang? 
   - or thread process or k8s?
   
   I think the runtime itself wants to mean something like: thread, process and 
k8s and other different runtime environments.
   
   but in function runtime code: 
   
   ```
   Function.FunctionDetails.Runtime.JAVA
   
   Function.FunctionDetails.Runtime.PYTHON
   
   Function.FunctionDetails.Runtime.GO
   ```
   
   We can see usages like the above, which can easily cause ambiguity.
   
   Another problem is that when we add a new language function, the intrusion 
of the runtime is too large, and whether we can give a reasonable abstraction 
way makes it easier for contributors to support the function of the new 
language.
   
   As @sijie  said in 
[pull:4174](https://github.com/apache/pulsar/pull/4174#discussion_r279606586):
   
   >Nit: I think we are beginning having more and more branches in the pulsar 
runtime. I guess it might be the time to do a refactor to make the language 
runtime pluggable in Pulsar Function. So that we don't need to touch the 
runtime each time we introduce a new language. You don't need to do it right 
now. but It might be worth creating a task to track that.
   
   @srkukarni @jerrypeng @merlimat about this, do you have any good suggestions 
or opinions?

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to