Since your problem is about the flink-native-k8s-operator, let's move the discussion there.
Best, Yang Fuyao Li <fuyao...@oracle.com> 于2021年5月8日周六 上午5:41写道: > Hi Austin, Yang, Matthias, > > > > I am following up to see if you guys have any idea regarding this problem. > > > > I also created an issue here to describe the problem. [1] > > > > After looking into the source code[1], I believe for native k8s, three > configuration files should be added to the flink-config-<cluster-id> > configmap automatically. However, it just have the flink-conf.yaml in the > operator created flink application. And that is also causing the start > command difference mentioned in the issue. > > > > Native k8s using Flink CLI: Args: > native-k8s > $JAVA_HOME/bin/java -classpath $FLINK_CLASSPATH -Xmx1073741824 > -Xms1073741824 -XX:MaxMetaspaceSize=268435456 > -Dlog.file=/opt/flink/log/jobmanager.log > -Dlogback.configurationFile=file:/opt/flink/conf/logback-console.xml > -Dlog4j.configuration=file:/opt/flink/conf/log4j-console.properties > -Dlog4j.configurationFile=file:/opt/flink/conf/log4j-console.properties > org.apache.flink.kubernetes.entrypoint.KubernetesApplicationClusterEntrypoint > -D jobmanager.memory.off-heap.size=134217728b -D > jobmanager.memory.jvm-overhead.min=201326592b -D > jobmanager.memory.jvm-metaspace.size=268435456b -D > jobmanager.memory.heap.size=1073741824b -D > jobmanager.memory.jvm-overhead.max=201326592b > > > > > > Operator flink app: > > Args: > native-k8s > $JAVA_HOME/bin/java -classpath $FLINK_CLASSPATH -Xmx3462817376 > -Xms3462817376 -XX:MaxMetaspaceSize=268435456 > org.apache.flink.kubernetes.entrypoint.KubernetesApplicationClusterEntrypoint > -D jobmanager.memory.off-heap.size=134217728b -D > jobmanager.memory.jvm-overhead.min=429496736b -D > jobmanager.memory.jvm-metaspace.size=268435456b -D > jobmanager.memory.heap.size=3462817376b -D > jobmanager.memory.jvm-overhead.max=429496736b > > > > Please share your opinion on this. Thanks! > > > > [1] https://github.com/wangyang0918/flink-native-k8s-operator/issues/4 > > [2] > https://github.com/apache/flink/blob/release-1.12/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/kubeclient/decorators/FlinkConfMountDecorator.java > > > > Have a good weekend! > > Best, > > Fuyao > > > > > > *From: *Fuyao Li <fuyao...@oracle.com> > *Date: *Tuesday, May 4, 2021 at 19:52 > *To: *Austin Cawley-Edwards <austin.caw...@gmail.com>, > matth...@ververica.com <matth...@ververica.com>, Yang Wang < > danrtsey...@gmail.com> > *Cc: *user <user@flink.apache.org> > *Subject: *Re: [External] : Re: StopWithSavepoint() method doesn't work > in Java based flink native k8s operator > > Hello All, > > > > I also checked the native-k8s’s automatically generated configmap. It only > contains the flink-conf.yaml, but no log4j.properties. I am not very > familiar with the implementation details behind native k8s. > > > > That should be the root cause, could you check the implementation and help > me to locate the potential problem. > > Yang’s initial code: > https://github.com/wangyang0918/flink-native-k8s-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/controller/FlinkApplicationController.java > <https://urldefense.com/v3/__https:/github.com/wangyang0918/flink-native-k8s-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/controller/FlinkApplicationController.java__;!!GqivPVa7Brio!K_YcBE0y2rd7zQtMtIKmSNNUpMmUTUSA8VdkNCJ8i9w2tH2nwNWoq3j7UZwZEh4$> > > My modified version: > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/controller/FlinkApplicationController.java > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/controller/FlinkApplicationController.java__;!!GqivPVa7Brio!K_YcBE0y2rd7zQtMtIKmSNNUpMmUTUSA8VdkNCJ8i9w2tH2nwNWoq3j78oKszhY$> > > > > Thank you so much. > > > > Best, > > Fuyao > > > > *From: *Fuyao Li <fuyao...@oracle.com> > *Date: *Tuesday, May 4, 2021 at 19:34 > *To: *Austin Cawley-Edwards <austin.caw...@gmail.com>, > matth...@ververica.com <matth...@ververica.com>, Yang Wang < > danrtsey...@gmail.com> > *Cc: *user <user@flink.apache.org> > *Subject: *Re: [External] : Re: StopWithSavepoint() method doesn't work > in Java based flink native k8s operator > > Hello Austin, Yang, > > > > For the logging issue, I think I have found something worth to notice. > > > > They are all based on base image flink:1.12.1-scala_2.11-java11 > > > > Dockerfile: https://pastebin.ubuntu.com/p/JTsHygsTP6/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/JTsHygsTP6/__;!!GqivPVa7Brio!OVpkpwiox1P7d8b34Nmo9xfzrPlbO4cW65uPc-xLTxaPavtVFQ1GVzVs7J-Fd4Q$> > > > > In the JM and TM provisioned by the k8s operator. There is only > flink-conf.yaml in the $FLINK_HOME/conf directory. Even if I tried to add > these configurations to the image in advance. It seems the operator is > seems overriding it and removing all other log4j configurations. This is > causing the logs can’t be printed correctly. > > root@flink-demo-5fc78c8cf-hgvcj:/opt/flink/conf# ls > > flink-conf.yaml > > > > > > However, for the pods that is provisioned by flink native k8s CLI. There > exists some log4j related configurations. > > > > root@test-application-cluster-79c7f9dcf7-44bq8:/opt/flink/conf# ls > > flink-conf.yaml log4j-console.properties logback-console.xml > > > > > > The native Kubernetes operator pod can print logs correctly because it has > the log4j.properties file mounted to the opt/flink/conf/ directory. [1] > > For the Flink pods, it seems that it only have a flink-conf.yaml injected > there. [2][3] No log4j related configmap is configured. That makes the logs > in those pods no available. > > > > I am not sure how to inject something similar to the flink pods? Maybe > adding some similar structure that exists in [1], into the cr.yaml ? So > that such configmap will make the log4j.properties available for flink CRD? > > > > I am kind of confused at how to implement this. The deployment is a > one-step operation in [4]. I don’t know how to make a configmap available > to it? Maybe I can only use the new feature – pod template in Flink 1.13 to > do this? > > > > > > > > [1] > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/deploy/flink-native-k8s-operator.yaml#L58 > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/deploy/flink-native-k8s-operator.yaml*L58__;Iw!!GqivPVa7Brio!OVpkpwiox1P7d8b34Nmo9xfzrPlbO4cW65uPc-xLTxaPavtVFQ1GVzVsYsKSwdA$> > > [2] > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/deploy/cr.yaml#L21 > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/deploy/cr.yaml*L21__;Iw!!GqivPVa7Brio!OVpkpwiox1P7d8b34Nmo9xfzrPlbO4cW65uPc-xLTxaPavtVFQ1GVzVs-oWyvPk$> > > [3] > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/Utils/FlinkUtils.java#L83 > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/Utils/FlinkUtils.java*L83__;Iw!!GqivPVa7Brio!OVpkpwiox1P7d8b34Nmo9xfzrPlbO4cW65uPc-xLTxaPavtVFQ1GVzVsk28At-8$> > > [4] > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/controller/FlinkApplicationController.java#L176 > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/java/org/apache/flink/kubernetes/operator/controller/FlinkApplicationController.java*L176__;Iw!!GqivPVa7Brio!OVpkpwiox1P7d8b34Nmo9xfzrPlbO4cW65uPc-xLTxaPavtVFQ1GVzVsc49StKI$> > > > > Best, > > Fuyao > > > > *From: *Fuyao Li <fuyao...@oracle.com> > *Date: *Tuesday, May 4, 2021 at 15:23 > *To: *Austin Cawley-Edwards <austin.caw...@gmail.com>, > matth...@ververica.com <matth...@ververica.com> > *Cc: *user <user@flink.apache.org>, Yang Wang <danrtsey...@gmail.com>, > Austin Cawley-Edwards <aus...@ververica.com> > *Subject: *Re: [External] : Re: StopWithSavepoint() method doesn't work > in Java based flink native k8s operator > > Hello All, > > > > *For Logging issue:* > > Hi Austin, > > > > This is the my full code implementation link [1], I just removed the > credential related things. The operator definition can be found here.[2] > You can also check other parts if you find any problem. > > The operator uses log4j2 and you can see there is a log appender for > operator [3] and the operator pod can indeed print out logs. But for the > flink application JM and TM pod, I can see the errors mentioned earlier. > Sed error and ERROR StatusLogger No Log4j 2 configuration file found. > > > > I used to use log4j for flink application, to avoid potential incompatible > issue, I have already upgraded the POM for flink application to use log4j2. > But the logging problem still exists. > > > > This is my log4j2.properties file in flink application. [6] This is the > loggin related pom dependencies for flink application [7]. > > > > The logs can be printed during normal native k8s deployment and IDE > debugging. When it comes to the operator, it seems not working. Could this > be caused by class namespace conflict? Since I introduced the presto jar in > the flink distribution. This is my Dockerfile to build the flink > application jar [5]. > > > > Please share your idea on this. > > > > *For the stopWithSavepoint issue, * > > Just to note, I understand cancel command (cancelWithSavepoint() ) is a > deprecated feature and it may not guarantee exactly once semantic and get > inconsistent result, like Timer related things? Please correct me if I am > wrong. The code that works with cancelWithSavepoint() is shared in [4] > below. > > > > > > [1] https://github.com/FuyaoLi2017/flink-native-kubernetes-operator > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zS0pc8xyg$> > > [2] > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/deploy/flink-native-k8s-operator.yaml > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/deploy/flink-native-k8s-operator.yaml__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zSxwZ7y0c$> > > [3] > https://github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/resources/log4j2.properties > <https://urldefense.com/v3/__https:/github.com/FuyaoLi2017/flink-native-kubernetes-operator/blob/master/src/main/resources/log4j2.properties__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zSmcVTvfY$> > > [4] https://pastebin.ubuntu.com/p/tcxT2FwPRS/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/tcxT2FwPRS/__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zSpACgSC8$> > > [5] https://pastebin.ubuntu.com/p/JTsHygsTP6/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/JTsHygsTP6/__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zSFEpFx6Q$> > > [6] https://pastebin.ubuntu.com/p/2wgdcxVfSy/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/2wgdcxVfSy/__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zSZDmRV7I$> > > [7] https://pastebin.ubuntu.com/p/Sq8xRjQyVY/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/Sq8xRjQyVY/__;!!GqivPVa7Brio!M43rnv3I8fCMsbDbdQLrgzWtsF6rSJJlebU1hGD9w0OMn702aTN6N-zSDxCbn6M$> > > > > > > Best, > > Fuyao > > > > *From: *Austin Cawley-Edwards <austin.caw...@gmail.com> > *Date: *Tuesday, May 4, 2021 at 14:47 > *To: *matth...@ververica.com <matth...@ververica.com> > *Cc: *Fuyao Li <fuyao...@oracle.com>, user <user@flink.apache.org>, Yang > Wang <danrtsey...@gmail.com>, Austin Cawley-Edwards <aus...@ververica.com> > *Subject: *[External] : Re: StopWithSavepoint() method doesn't work in > Java based flink native k8s operator > > Hey all, > > > > Thanks for the ping, Matthias. I'm not super familiar with the details of > @Yang > Wang <danrtsey...@gmail.com>'s operator, to be honest :(. Can you share > some of your FlinkApplication specs? > > > > For the `kubectl logs` command, I believe that just reads stdout from the > container. Which logging framework are you using in your application and > how have you configured it? There's a good guide for configuring the > popular ones in the Flink docs[1]. For instance, if you're using the > default Log4j 2 framework you should configure a ConsoleAppender[2]. > > > > Hope that helps a bit, > > Austin > > > > [1]: > https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/advanced/logging/ > <https://urldefense.com/v3/__https:/ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/advanced/logging/__;!!GqivPVa7Brio!IkcTZZ5rY-669_XS8ldTeXg0NeH1nsQkupDh_zuUHAC4yqDOoiJ6f2EvCjPpPPQ$> > > [2]: > https://logging.apache.org/log4j/2.x/manual/appenders.html#ConsoleAppender > <https://urldefense.com/v3/__https:/logging.apache.org/log4j/2.x/manual/appenders.html*ConsoleAppender__;Iw!!GqivPVa7Brio!IkcTZZ5rY-669_XS8ldTeXg0NeH1nsQkupDh_zuUHAC4yqDOoiJ6f2EvHl40sbA$> > > > > On Tue, May 4, 2021 at 1:59 AM Matthias Pohl <matth...@ververica.com> > wrote: > > Hi Fuyao, > > sorry for not replying earlier. The stop-with-savepoint operation > shouldn't only suspend but terminate the job. Is it that you might have a > larger state that makes creating the savepoint take longer? Even though, > considering that you don't experience this behavior with your 2nd solution, > I'd assume that we could ignore this possibility. > > > > I'm gonna add Austin to the conversation as he worked with k8s operators > as well already. Maybe, he can also give you more insights on the logging > issue which would enable us to dig deeper into what's going on with > stop-with-savepoint. > > > > Best, > > Matthias > > > > On Tue, May 4, 2021 at 4:33 AM Fuyao Li <fuyao...@oracle.com> wrote: > > Hello, > > > > Update: > > I think stopWithSavepoint() only suspend the job. It doesn’t actually > terminate (./bin/flink cancel) the job. I switched to cancelWithSavepoint() > and it works here. > > > > Maybe stopWithSavepoint() should only be used to update the configurations > like parallelism? For updating the image, this seems to be not suitable, > please correct me if I am wrong. > > > > For the log issue, I am still a bit confused. Why it is not available in > kubectl logs. How should I get access to it? > > > > Thanks. > > Best, > > Fuyao > > > > *From: *Fuyao Li <fuyao...@oracle.com> > *Date: *Sunday, May 2, 2021 at 00:36 > *To: *user <user@flink.apache.org>, Yang Wang <danrtsey...@gmail.com> > *Subject: *[External] : Re: StopWithSavepoint() method doesn't work in > Java based flink native k8s operator > > Hello, > > > > I noticed that first trigger a savepoint and then delete the deployment > might cause the duplicate data issue. That could pose a bad influence to > the semantic correctness. Please give me some hints on how to make the > stopWithSavepoint() work correctly with Fabric8io Java k8s client to > perform this image update operation. Thanks! > > > > Best, > > Fuyao > > > > > > > > *From: *Fuyao Li <fuyao...@oracle.com> > *Date: *Friday, April 30, 2021 at 18:03 > *To: *user <user@flink.apache.org>, Yang Wang <danrtsey...@gmail.com> > *Subject: *[External] : Re: StopWithSavepoint() method doesn't work in > Java based flink native k8s operator > > Hello Community, Yang, > > > > I have one more question for logging. I also noticed that if I execute > kubectl logs command to the JM. The pods provisioned by the operator can’t > print out the internal Flink logs in the kubectl logs. I can only get > something like the logs below. No actual flink logs is printed here… Where > can I find the path to the logs? Maybe use a sidecar container to get it > out? How can I get the logs without checking the Flink WebUI? Also, the sed > error makes me confused here. In fact, the application is already up and > running correctly if I access the WebUI through Ingress. > > > > Reference: > https://github.com/wangyang0918/flink-native-k8s-operator/issues/4 > <https://urldefense.com/v3/__https:/github.com/wangyang0918/flink-native-k8s-operator/issues/4__;!!GqivPVa7Brio!PZPkOj4s7du8ItEG-AxKGR2EN6pWDuKfwcjZNKbpLfhXHRD3IoaH6zptEJWo5vM$> > > > > > > [root@bastion deploy]# kubectl logs -f flink-demo-594946fd7b-822xk > > > > sed: couldn't open temporary file /opt/flink/conf/sedh1M3oO: Read-only > file system > > sed: couldn't open temporary file /opt/flink/conf/sed8TqlNR: Read-only > file system > > /docker-entrypoint.sh: line 75: /opt/flink/conf/flink-conf.yaml: Read-only > file system > > sed: couldn't open temporary file /opt/flink/conf/sedvO2DFU: Read-only > file system > > /docker-entrypoint.sh: line 88: /opt/flink/conf/flink-conf.yaml: Read-only > file system > > /docker-entrypoint.sh: line 90: /opt/flink/conf/flink-conf.yaml.tmp: > Read-only file system > > Start command: $JAVA_HOME/bin/java -classpath $FLINK_CLASSPATH > -Xmx3462817376 -Xms3462817376 -XX:MaxMetaspaceSize=268435456 > org.apache.flink.kubernetes.entrypoint.KubernetesApplicationClusterEntrypoint > -D jobmanager.memory.off-heap.size=134217728b -D > jobmanager.memory.jvm-overhead.min=429496736b -D > jobmanager.memory.jvm-metaspace.size=268435456b -D > jobmanager.memory.heap.size=3462817376b -D > jobmanager.memory.jvm-overhead.max=429496736b > > ERROR StatusLogger No Log4j 2 configuration file found. Using default > configuration (logging only errors to the console), or user > programmatically provided configurations. Set system property > 'log4j2.debug' to show Log4j 2 internal initialization logging. See > https://logging.apache.org/log4j/2.x/manual/configuration.html > <https://urldefense.com/v3/__https:/logging.apache.org/log4j/2.x/manual/configuration.html__;!!GqivPVa7Brio!PZPkOj4s7du8ItEG-AxKGR2EN6pWDuKfwcjZNKbpLfhXHRD3IoaH6zptpRoiZsE$> > for instructions on how to configure Log4j 2 > > WARNING: An illegal reflective access operation has occurred > > WARNING: Illegal reflective access by > org.apache.flink.api.java.ClosureCleaner > (file:/opt/flink/lib/flink-dist_2.11-1.12.1.jar) to field > java.util.Properties.serialVersionUID > > WARNING: Please consider reporting this to the maintainers of > org.apache.flink.api.java.ClosureCleaner > > WARNING: Use --illegal-access=warn to enable warnings of further illegal > reflective access operations > > WARNING: All illegal access operations will be denied in a future release > > > > > > -------- The logs stops here, flink applications logs doesn’t get printed > here anymore--------- > > > > ^C > > [root@bastion deploy]# kubectl logs -f flink-demo-taskmanager-1-1 > > sed: couldn't open temporary file /opt/flink/conf/sedaNDoNR: Read-only > file system > > sed: couldn't open temporary file /opt/flink/conf/seddze7tQ: Read-only > file system > > /docker-entrypoint.sh: line 75: /opt/flink/conf/flink-conf.yaml: Read-only > file system > > sed: couldn't open temporary file /opt/flink/conf/sedYveZoT: Read-only > file system > > /docker-entrypoint.sh: line 88: /opt/flink/conf/flink-conf.yaml: Read-only > file system > > /docker-entrypoint.sh: line 90: /opt/flink/conf/flink-conf.yaml.tmp: > Read-only file system > > Start command: $JAVA_HOME/bin/java -classpath $FLINK_CLASSPATH > -Xmx697932173 -Xms697932173 -XX:MaxDirectMemorySize=300647712 > -XX:MaxMetaspaceSize=268435456 > org.apache.flink.kubernetes.taskmanager.KubernetesTaskExecutorRunner -D > taskmanager.memory.framework.off-heap.size=134217728b -D > taskmanager.memory.network.max=166429984b -D > taskmanager.memory.network.min=166429984b -D > taskmanager.memory.framework.heap.size=134217728b -D > taskmanager.memory.managed.size=665719939b -D taskmanager.cpu.cores=1.0 -D > taskmanager.memory.task.heap.size=563714445b -D > taskmanager.memory.task.off-heap.size=0b --configDir /opt/flink/conf > -Djobmanager.memory.jvm-overhead.min='429496736b' > -Dpipeline.classpaths='file:usrlib/quickstart-0.1.jar' > -Dtaskmanager.resource-id='flink-demo-taskmanager-1-1' > -Djobmanager.memory.off-heap.size='134217728b' > -Dexecution.target='embedded' > -Dweb.tmpdir='/tmp/flink-web-d7691661-fac5-494e-8154-896b4fe30692' > -Dpipeline.jars='file:/opt/flink/usrlib/quickstart-0.1.jar' > -Djobmanager.memory.jvm-metaspace.size='268435456b' > -Djobmanager.memory.heap.size='3462817376b' > -Djobmanager.memory.jvm-overhead.max='429496736b' > > ERROR StatusLogger No Log4j 2 configuration file found. Using default > configuration (logging only errors to the console), or user > programmatically provided configurations. Set system property > 'log4j2.debug' to show Log4j 2 internal initialization logging. See > https://logging.apache.org/log4j/2.x/manual/configuration.html > <https://urldefense.com/v3/__https:/logging.apache.org/log4j/2.x/manual/configuration.html__;!!GqivPVa7Brio!PZPkOj4s7du8ItEG-AxKGR2EN6pWDuKfwcjZNKbpLfhXHRD3IoaH6zptpRoiZsE$> > for instructions on how to configure Log4j 2 > > WARNING: An illegal reflective access operation has occurred > > WARNING: Illegal reflective access by > org.apache.flink.shaded.akka.org.jboss.netty.util.internal.ByteBufferUtil > (file:/opt/flink/lib/flink-dist_2.11-1.12.1.jar) to method > java.nio.DirectByteBuffer.cleaner() > > WARNING: Please consider reporting this to the maintainers of > org.apache.flink.shaded.akka.org.jboss.netty.util.internal.ByteBufferUtil > > WARNING: Use --illegal-access=warn to enable warnings of further illegal > reflective access operations > > WARNING: All illegal access operations will be denied in a future release > > Apr 29, 2021 12:58:34 AM oracle.simplefan.impl.FanManager configure > > SEVERE: attempt to configure ONS in FanManager failed with > oracle.ons.NoServersAvailable: Subscription time out > > > > > > -------- The logs stops here, flink applications logs doesn’t get printed > here anymore--------- > > > > > > Best, > > Fuyao > > > > > > *From: *Fuyao Li <fuyao...@oracle.com> > *Date: *Friday, April 30, 2021 at 16:50 > *To: *user <user@flink.apache.org>, Yang Wang <danrtsey...@gmail.com> > *Subject: *[External] : StopWithSavepoint() method doesn't work in Java > based flink native k8s operator > > Hello Community, Yang, > > > > I am trying to extend the flink native Kubernetes operator by adding some > new features based on the repo [1]. I wrote a method to release the image > update functionality. [2] I added the > > triggerImageUpdate(oldFlinkApp, flinkApp, effectiveConfig); > > > > under the existing method. > > triggerSavepoint(oldFlinkApp, flinkApp, effectiveConfig); > > > > > > I wrote a function to accommodate the image change behavior.[2] > > > > Solution1: > > I want to use stopWithSavepoint() method to complete the task. However, I > found it will get stuck and never get completed. Even if I use get() for > the completeableFuture. It will always timeout and throw exceptions. See > solution 1 logs [3] > > > > Solution2: > > I tried to trigger a savepoint, then delete the deployment in the code and > then create a new application with new image. This seems to work fine. Log > link: [4] > > > > My questions: > > 1. Why solution 1 will get stuck? triggerSavepoint() > CompleteableFuture could work here… Why stopWithSavepoint() will always get > stuck or timeout? Very confused. > 2. For Fabric8io library, I am still new to it, did I do anything > wrong in the implementation, maybe I should update the jobStatus? Please > give me some suggestions. > 3. For work around solution 2, is there any bad influence I didn’t > notice? > > > > > > [1] https://github.com/wangyang0918/flink-native-k8s-operator > <https://urldefense.com/v3/__https:/github.com/wangyang0918/flink-native-k8s-operator__;!!GqivPVa7Brio!PJIKFBi86alhx1DCxiWp8FkWKToD8XC8tNHFFrYSZj3AKM3zqyiNRjijNSMY0DI$> > > [2] https://pastebin.ubuntu.com/p/tQShjmdcJt/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/tQShjmdcJt/__;!!GqivPVa7Brio!PJIKFBi86alhx1DCxiWp8FkWKToD8XC8tNHFFrYSZj3AKM3zqyiNRjijoiwPw-I$> > > [3] https://pastebin.ubuntu.com/p/YHSPpK4W4Z/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/YHSPpK4W4Z/__;!!GqivPVa7Brio!PJIKFBi86alhx1DCxiWp8FkWKToD8XC8tNHFFrYSZj3AKM3zqyiNRjijmgfSmqs$> > > [4] https://pastebin.ubuntu.com/p/3VG7TtXXfh/ > <https://urldefense.com/v3/__https:/pastebin.ubuntu.com/p/3VG7TtXXfh/__;!!GqivPVa7Brio!PJIKFBi86alhx1DCxiWp8FkWKToD8XC8tNHFFrYSZj3AKM3zqyiNRjijr_tizPo$> > > > > Best, > > Fuyao > >