[
https://issues.apache.org/jira/browse/FLINK-23478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17386113#comment-17386113
]
Yi Tang edited comment on FLINK-23478 at 7/23/21, 10:03 AM:
------------------------------------------------------------
[~fly_in_gis] The cause is that a simpler lock can not guarantee the absolute
order event it is a "fair" lock, because the later event can be executed
earlier to the cached thread pool executor, so the lock attempt occur earlier
also.
Maybe we still need to manually handle it in the {{WatchCallback}}, like submit
a runnable if events come and terminate if all queued events are processed in a
short period.
cc [~dmvk]
was (Author: yittg):
[~fly_in_gis] The possible cause is still that a simpler lock can not guarantee
the absolute order event it is a "fair" lock, the later event can submit
earlier to the cached thread pool executor.
Maybe we still need to manually handle it in the {{WatchCallback}}, like submit
a runnable if events come and terminate if all queued events are processed in a
short period.
cc [~dmvk]
> KubernetesSharedInformerITCase.testWatchWithBlockHandler fails on Azure
> -----------------------------------------------------------------------
>
> Key: FLINK-23478
> URL: https://issues.apache.org/jira/browse/FLINK-23478
> Project: Flink
> Issue Type: Bug
> Components: Deployment / Kubernetes
> Affects Versions: 1.14.0
> Reporter: Dawid Wysakowicz
> Priority: Major
> Labels: test-stability
>
> https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=20864&view=logs&j=c88eea3b-64a0-564d-0031-9fdcd7b8abee&t=070ff179-953e-5bda-71fa-d6599415701c&l=3190
> {code}
> Jul 23 04:41:49 java.util.concurrent.ExecutionException:
> java.lang.AssertionError
> Jul 23 04:41:49 at
> java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
> Jul 23 04:41:49 at
> java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformerITCase.testWatchWithBlockHandler(KubernetesSharedInformerITCase.java:140)
> Jul 23 04:41:49 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> Jul 23 04:41:49 at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> Jul 23 04:41:49 at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> Jul 23 04:41:49 at java.lang.reflect.Method.invoke(Method.java:498)
> Jul 23 04:41:49 at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
> Jul 23 04:41:49 at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> Jul 23 04:41:49 at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
> Jul 23 04:41:49 at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> Jul 23 04:41:49 at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> Jul 23 04:41:49 at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> Jul 23 04:41:49 at
> org.apache.flink.util.TestNameProvider$1.evaluate(TestNameProvider.java:45)
> Jul 23 04:41:49 at
> org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> Jul 23 04:41:49 at
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
> Jul 23 04:41:49 at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
> Jul 23 04:41:49 at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
> Jul 23 04:41:49 at
> org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
> Jul 23 04:41:49 at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> Jul 23 04:41:49 at
> org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
> Jul 23 04:41:49 at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
> Jul 23 04:41:49 Caused by: java.lang.AssertionError
> Jul 23 04:41:49 at org.junit.Assert.fail(Assert.java:87)
> Jul 23 04:41:49 at org.junit.Assert.assertTrue(Assert.java:42)
> Jul 23 04:41:49 at org.junit.Assert.assertTrue(Assert.java:53)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformerITCase$TestingBlockCallbackHandler.lambda$onAddOrUpdated$0(KubernetesSharedInformerITCase.java:292)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformerITCase.check(KubernetesSharedInformerITCase.java:311)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformerITCase.access$800(KubernetesSharedInformerITCase.java:54)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformerITCase$TestingBlockCallbackHandler.onAddOrUpdated(KubernetesSharedInformerITCase.java:292)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformerITCase$TestingBlockCallbackHandler.onAdded(KubernetesSharedInformerITCase.java:277)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformer$EventHandler.lambda$null$1(KubernetesSharedInformer.java:227)
> Jul 23 04:41:49 at
> org.apache.flink.kubernetes.kubeclient.resources.KubernetesSharedInformer$WatchCallback.lambda$run$0(KubernetesSharedInformer.java:273)
> Jul 23 04:41:49 at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> Jul 23 04:41:49 at
> java.util.concurrent.FutureTask.run(FutureTask.java:266)
> Jul 23 04:41:49 at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> Jul 23 04:41:49 at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> Jul 23 04:41:49 at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)