Hi everybody,
I was experimenting little bit with C8 and Self Managed.
I installed the C8 in my local Kubernetes with the following Helm Configuration.
camunda-platform:
global:
identity:
auth:
enabled: false
identity:
enabled: false
optimize:
enabled: false
zeebe:
clusterSize: 1
partitionCount: 1
replicationFactor: 1
pvcSize: 10Gi
zeebe-gateway:
replicas: 1
connectors:
enabled: true
inbound:
mode: disabled
elasticsearch:
master:
replicaCount: 1
persistence:
size: 15Gi
And created a Test BPMN.
I defined a BPMN with a simple service task ‘additionalBilling’.
And I have a JobWorker for this Service Task in a Spring Boot Application.
@Component
@Slf4j
public class ExtraBillingFacade {
@JobWorker(type = "additionalBilling", pollInterval = 1000L)
public void doSomething(final ActivatedJob job) {
log.info("We are doing something! [{}]", job);
}
}
which has a following ‘application.yml’ configuration.
zeebe:
client:
security:
plaintext: "true"
broker:
gateway-address: "camunda-platform-zeebe-gateway.camunda:26500"
connection-mode: "ADDRESS"
request-timeout: 10s
camunda:
operate:
client:
base-url: "camunda-platform-operate.camunda:8080"
enabled: true
url: "camunda-platform-operate.camunda:8080"
username: "demo"
password: "demo"
tasklist:
client:
base-url: "camunda-platform-tasklist.camunda:8080"
url: "camunda-platform-tasklist.camunda:8080"
username: "demo"
password: "demo"
And I see in the Spring Boot Logs and Operate the BPMN is deployed, Workers configured/started and workers started polling (my workers are also in the k8s Cluster as Pods).
Configuring 1 Zeebe worker(s) of bean 'scoreFacade': [ZeebeWorkerValue{type='ProcessFraudPreventionRequest', name='scoreFacade#processFraudPreventionMessage', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=-1, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@241fc278}]
2024-03-21T10:06:11.810Z INFO 1 --- [workflow] [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 13 endpoint(s) beneath base path '/actuator'
2024-03-21T10:06:13.096Z DEBUG 1 --- [workflow] [ main] c.p.OperateClientConfigurationProperties : Connecting to Camunda Operate on URL: camunda-platform-operate.camunda:8080
2024-03-21T10:06:15.014Z INFO 1 --- [workflow] [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080
2024-03-21T10:06:18.697Z INFO 1 --- [workflow] [ main] c.a.p.ZeebeDeploymentAnnotationProcessor : Deployed: <Definitions_01hqw9d:1>,<fraud-prevention:1>,<customer_order:1>
2024-03-21T10:06:18.735Z INFO 1 --- [workflow] [ main] i.c.z.s.c.jobhandling.JobWorkerManager : . Starting Zeebe worker: ZeebeWorkerValue{type='addCustomerToBilling', name='billingFacade#addCustomerToBilling', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=-1, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@4b98225c}
2024-03-21T10:06:18.737Z INFO 1 --- [workflow] [ main] i.c.z.s.c.jobhandling.JobWorkerManager : . Starting Zeebe worker: ZeebeWorkerValue{type='addCustomerToCRM', name='CRMFacade#addCustomerToCrm', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=-1, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@4beae1e3}
2024-03-21T10:06:18.738Z INFO 1 --- [workflow] [ main] i.c.z.s.c.jobhandling.JobWorkerManager : . Starting Zeebe worker: ZeebeWorkerValue{type='additionalBilling', name='extraBillingFacade#doSomething', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=1000, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@3c488b34}
2024-03-21T10:06:18.739Z INFO 1 --- [workflow] [ main] i.c.z.s.c.jobhandling.JobWorkerManager : . Starting Zeebe worker: ZeebeWorkerValue{type='provisionSIM', name='SIMCardProvisionerFacade#provisionSIMCard', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=-1, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@32e697ac}
2024-03-21T10:06:18.740Z INFO 1 --- [workflow] [ main] i.c.z.s.c.jobhandling.JobWorkerManager : . Starting Zeebe worker: ZeebeWorkerValue{type='registerSIM', name='SIMCardRegistryFacade#registerSimCard', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=-1, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@3866c96e}
2024-03-21T10:06:18.740Z INFO 1 --- [workflow] [ main] i.c.z.s.c.jobhandling.JobWorkerManager : . Starting Zeebe worker: ZeebeWorkerValue{type='ProcessFraudPreventionRequest', name='scoreFacade#processFraudPreventionMessage', timeout=-1, maxJobsActive=-1, requestTimeout=-1, pollInterval=-1, autoComplete=true, fetchVariables=[], enabled=true, methodInfo=io.camunda.zeebe.spring.client.bean.MethodInfo@241fc278}
2024-03-21T10:06:18.899Z TRACE 1 --- [workflow] [pool-2-thread-1] io.camunda.zeebe.client.job.poller : Polling at max 32 jobs for worker billingFacade#addCustomerToBilling and job type addCustomerToBilling
2024-03-21T10:06:18.941Z TRACE 1 --- [workflow] [pool-2-thread-1] io.camunda.zeebe.client.job.poller : Polling at max 32 jobs for worker CRMFacade#addCustomerToCrm and job type addCustomerToCRM
2024-03-21T10:06:18.942Z TRACE 1 --- [workflow] [pool-2-thread-1] io.camunda.zeebe.client.job.poller : Polling at max 32 jobs for worker SIMCardProvisionerFacade#provisionSIMCard and job type provisionSIM
2024-03-21T10:06:18.943Z TRACE 1 --- [workflow] [pool-2-thread-1] io.camunda.zeebe.client.job.poller : Polling at max 32 jobs for worker SIMCardRegistryFacade#registerSimCard and job type registerSIM
2024-03-21T10:06:18.943Z TRACE 1 --- [workflow] [pool-2-thread-1] io.camunda.zeebe.client.job.poller : Polling at max 32 jobs for worker scoreFacade#processFraudPreventionMessage and job type ProcessFraudPreventionRequest
2024-03-21T10:06:19.004Z INFO 1 --- [workflow] [ main] o.s.c.workflow.ThrowoffApplication : Started ThrowoffApplication in 32.446 seconds (process running for 35.913)
2024-03-21T10:06:19.739Z TRACE 1 --- [workflow] [pool-2-thread-1] io.camunda.zeebe.client.job.poller : Polling at max 32 jobs for worker extraBillingFacade#doSomething and job type additionalBilling
then I started the process and I see in the logs and operate in the Process Instance created.
INFO 1 --- [workflow] [or-http-epoll-4] o.s.c.w.adapter.RestControllerAdapter : Staring process
2024-03-21T10:09:25.847Z INFO 1 --- [workflow] [or-http-epoll-4] o.s.c.w.core.CustomerOnboardingFacade : Triggering process
2024-03-21T10:09:25.939Z INFO 1 --- [workflow] [or-http-epoll-4] o.s.c.w.core.CustomerOnboardingFacade : Started instance for processDefinitionKey=2251799813685858, bpmnProcessId=customer_order, version=1 with processInstanceKey=2251799813686166
but it is never picked with the poll and or poll even does not return with Timeout.
I have no idea what is the reason why Task is not picked by JobWorker or why the pollers are stucked, even that I configured a timeout.
If I understand the documentation of JobWorkers
Job Workers
correctly, Jobs are pulled on jobstreams from zeebe.
When I call the actuator from zebee
GET http://camunda-platform:51468/actuator/jobstreams
Even that I see the process instance in ‘operate’, jobstream on zeebe delivers empty lists
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 25
{
"remote": [],
"client": []
}
Any hints?