The jar file will be stored in bookkeeper. When functions are executed, the jar will be downloaded by each function worker (broker) in a download directory that is configured at https://github.com/apache/pulsar/blob/master/conf/functions_worker.yml#L41.
If you want to avoid uploading and downloading the function jar again and again, you can put the function as a built-in function in the built-in functions directory in all the function workers (brokers) that is configured at https://github.com/apache/pulsar/blob/master/conf/functions_worker.yml#L300 Thanks, Sijie On Mon, Mar 22, 2021 at 10:29 PM Sachin Mittal <sjmit...@gmail.com> wrote: > Hi, > I am creating multiple functions onto a pulsar cluster on Kubernetes. > Essentially all the functions use the same jar and function class but > configured differently wrt to input/output topics. > > So from the Java Admin client I send the api call to create a function > with different names multiple times. I think based on what I could see in > the implementation the Jar contents are serialized as part of form data and > sent over the network. > > I want to know on the broker side where is this jar stored? > > If I have many functions then it looks like the same jar will be copied > multiple times at different locations (or that won't be the case) ? > > Is there a way to avoid sending Jar contents each time I create a function > and just refer to the Jar containing the function class. I suppose for this > that Jar needs to be made available to the broker, if yes how? > > Thanks > Sachin > >