New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Offload non-cooperative ProcessorSupplier.init and ProcessorMetaSupplier.init [HZ-1204] #21595
Offload non-cooperative ProcessorSupplier.init and ProcessorMetaSupplier.init [HZ-1204] #21595
Conversation
hazelcast/src/main/java/com/hazelcast/jet/impl/operation/InitExecutionOperation.java
Outdated
Show resolved
Hide resolved
hazelcast/src/test/java/com/hazelcast/jet/SimpleTestInClusterSupport.java
Outdated
Show resolved
Hide resolved
…nPlan#initialize the processor suppliers.init are called
…y and remove non-necessary method
e2ff7cf
to
b43e63f
Compare
…es synchronized to avoid problems with concurrent adds
09c41dc
to
c66b8e0
Compare
…() instead of add + sort
Note to reviewers: most of the lines marked as changed are just moved inside some lambda (and because of that, identation changed). Instead of blocking code in various places I'm composing a chain of actions using CompletableFuture. Each CF may be executed on offload executor |
The job Click to expand the log file-------------------------- ---------SUMMARY---------- -------------------------- [ERROR] Failed to execute goal on project hazelcast-sql: Could not resolve dependencies for project com.hazelcast:hazelcast-sql:jar:5.2-SNAPSHOT: Could not transfer artifact net.java.dev.jna:jna:jar:5.2.0 from/to nexus-proxy (http://jenkins.hazelcast.com:8081/content/groups/public/): GET request of: net/java/dev/jna/jna/5.2.0/jna-5.2.0.jar from nexus-proxy failed: Connection reset -> [Help 1] -------------------------- |
run-lab-run |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] BasicClusterStateTest.pendingInvocations_shouldBeNotified_whenMemberLeft_whenClusterState_PASSIVE Expected: an instance of com.hazelcast.core.MemberLeftException but: is a java.util.concurrent.ExecutionException Stacktrace was: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Cluster is in PASSIVE state! Operation: com.hazelcast.partition.IndeterminateOperationStateExceptionTest$SilentOperation{serviceName='null', identityHash=810831927, partitionId=-1, replicaIndex=0, callId=4, invocationTime=1660219538836 (2022-08-11 12:05:38.836), waitTimeout=-1, callTimeout=60000, tenantControl=com.hazelcast.spi.impl.tenantcontrol.NoopTenantControl@0} at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.returnOrThrowWithGetConventions(InvocationFuture.java:121) at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:100) at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:609) at com.hazelcast.internal.cluster.impl.BasicClusterStateTest.pendingInvocations_shouldBeNotified_whenMemberLeft_whenClusterState_doesNotAllowJoin(BasicClusterStateTest.java:428) at com.hazelcast.internal.cluster.impl.BasicClusterStateTest.pendingInvocations_shouldBeNotified_whenMemberLeft_whenClusterState_PASSIVE(BasicClusterStateTest.java:406) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at com.hazelcast.test.FailOnTimeoutStatement$CallableStatement.call(FailOnTimeoutStatement.java:115) at com.hazelcast.test.FailOnTimeoutStatement$CallableStatement.call(FailOnTimeoutStatement.java:107) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalStateException: Cluster is in PASSIVE state! Operation: com.hazelcast.partition.IndeterminateOperationStateExceptionTest$SilentOperation{serviceName='null', identityHash=810831927, partitionId=-1, replicaIndex=0, callId=4, invocationTime=1660219538836 (2022-08-11 12:05:38.836), waitTimeout=-1, callTimeout=60000, tenantControl=com.hazelcast.spi.impl.tenantcontrol.NoopTenantControl@0} at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.checkNodeState(OperationRunnerImpl.java:332) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.metWithPreconditions(OperationRunnerImpl.java:221) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:249) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:479) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:197) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:137) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123) at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) at ------ submitted from ------.() at com.hazelcast.internal.util.ExceptionUtil.cloneExceptionWithFixedAsyncStackTrace(ExceptionUtil.java:337) at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.returnOrThrowWithGetConventions(InvocationFuture.java:112) ... 16 more |
run-lab-run |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] DynamicConfigYamlGeneratorTest.testIfSensitiveDataIsMasked_whenMaskingEnabled:102 expected:<[Hazelcast]> but was:<[****]> [INFO] [ERROR] Tests run: 50691, Failures: 1, Errors: 0, Skipped: 238 [INFO] |
run-lab-run |
Can I not hit another flaky for once? :| |
The job Click to expand the log file-------------------------- ---------SUMMARY---------- -------------------------- [ERROR] Failed to execute goal org.codehaus.mojo:license-maven-plugin:2.0.0:add-third-party (add-third-party) on project hazelcast-jet-kinesis: could not init goal AddThirdPartyMojo for reason : null: ConcurrentModificationException -> [Help 1] -------------------------- |
run-lab-run |
run-nightly-tests |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] DynamicConfigYamlGeneratorTest.testIfSensitiveDataIsMasked_whenMaskingEnabled:102 expected:<[Hazelcast]> but was:<[****]> [INFO] [ERROR] Tests run: 50722, Failures: 1, Errors: 0, Skipped: 238 [INFO] |
run-lab-run |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] DynamicConfigYamlGeneratorTest.testIfSensitiveDataIsMasked_whenMaskingEnabled:102 expected:<[Hazelcast]> but was:<[****]> [INFO] [ERROR] Tests run: 50722, Failures: 1, Errors: 0, Skipped: 238 [INFO] |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] ClientMapPartitionLostListenerTest.test_mapPartitionLostListener_invoked_fromOtherNode:133->assertProxyExistsEventually:163->HazelcastTestSupport.assertTrueEventually:1338->HazelcastTestSupport.assertTrueEventually:1236 There is no proxy with name 54bbab02-505b-41e6-8645-f04821f279f5 created (yet) [INFO] [ERROR] Tests run: 50722, Failures: 1, Errors: 0, Skipped: 238 [INFO] |
run-lab-run |
Removing Viliam per his request
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] QueueDestroyTest.checkStatsMapEntryRemovedWhenQueueDestroyed:78 expected:<0> but was:<1> [ERROR] JobLifecycleMetricsTest.after:71 Close called without init being called on all the nodes. Init count: 0 node count: 2 [INFO] [ERROR] Tests run: 50722, Failures: 2, Errors: 0, Skipped: 238 [INFO] |
The following failure seems related to this PR
|
The I have reviewed all the tests using the |
run-lab-run |
run-ee-compile |
run-lts-compilers |
Allow ProcessorMetaSupplier.init and ProcessorSupplier.init to be offloaded to a different thread to not starve the partition thread. User can mark PS/PMS as (non-)cooperative by overriding PMS#initIsCooperative and PS#initIsCooperative method.
Fixes #21499
Checklist:
Team:
,Type:
,Source:
,Module:
) and Milestone setAdd to Release Notes
orNot Release Notes content
setSend backports/forwardports if fix needs to be applied to past/future releases@Nonnull/@Nullable
annotations@since
tags in JavadocThe change is extensive. Won't be backported.