[ 
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:04 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 occures 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.

You can assign this issue to me, I'll try to resolve it ASAP. 

cc [~dmvk]


was (Author: yittg):
[~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 occures 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.

I'll try to resolve it ASAP.

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)

Reply via email to