Hello Ananth, Here are my answers, except for the Kafka 0.9 operator
1. "Lifetime" is essentially the same as you have in any Java code. It doesn't span across start/stop/crash of an Apex application. 2. Yes, downstream will catch up. 4. Every launch is a new launch unless the application is restarted using the following command line option with dtcli ( being renamed to apex-cli ) dtcli launch <jar/apa> " -originalAppId <application id>", Application will start from the previous checkpoint. Thanks On Tue, Apr 19, 2016 at 12:20 PM Ananth Gundabattula < agundabatt...@gmail.com> wrote: > Hello All, > > I was wondering if you could help me with the following questions as I was > not able to locate the info from the docs: > > > - When is the constructor of an operator called ? The docs say once in > the lifetime of an operator but I was wondering whether the definition of > "lifetime" spans across start/stop/crash ( because of a coding error ) of > an apex application ? > - Regarding backpressure and the buffer server, how does the buffer > server survive application crashes ? I mean considering a situation when > the bufferserver itself dies for whatever reason, is it guaranteed a > downstream operator will eventually catchup with an Upstream operator when > the buffer server is brought back up? > - Is there an equivalent of the OffsetManager for the 0.9 version of > the Kafka operator ? > - Am I correct in assuming that the moment we rename an application, > the semantics of the Kafka operator will completely change and might end up > reading from the "initialOffset" by the application code ? How is the > semantics maintained for a definition of "application name" ? Does every > deploy of the application code result in a new application or it is simply > using the @ApplicationAnnotation(name="") instance to define this meaning ? > > > Thanks for your time. > > > Regards, > > Ananth >