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
