camunda / connectors

Camunda Connectors
https://docs.camunda.io/docs/components/integration-framework/connectors/out-of-the-box-connectors/available-connectors-overview/
Apache License 2.0
41 stars 36 forks source link

Restarting the operate application causes the connector application to fail to work properly(inbound) #1556

Closed zxuanhong closed 10 months ago

zxuanhong commented 11 months ago

Describe the Bug

  1. The operate application restarts. The connector application will never be able to restore the connection to the 'operate application'
  2. This is very confusing. I think the connector is capable of handling this exception. Because no one can guarantee that 'operate' components will never fail

Steps to Reproduce

  1. Start operate application
  2. start connector application
  3. stop operate application
  4. connector application can never be connected to operate
  5. When an exception occurs during the operate query process definition, the following scheduled tasks are forced to stop and never run again (unless the system is restarted). image

Expected Behavior

Environment

igpetrov commented 10 months ago

Hi @zxuanhong, thank you for your inquiry. Can you please share more details about connector you're using? Maybe some logs as well?

I tried to reproduce the same as you wrote but wasn't able to. My concrete steps:

  1. Cloned the latest SM docker instance: https://github.com/camunda/camunda-platform (commit: https://github.com/camunda/camunda-platform/commit/2ee4db991ac7b0efaaa5dc6dbf26cf79ab3508fb)
  2. Started with docker compose -f docker-compose-core.yaml up
  3. Making sure that Zeebe, Connectors, and Operate without errors
  4. Created a new AWS SQS queue
  5. Created a new BPMN diagram with a AWS SQS message start event connector
  6. Deployed the diagram
  7. Shut down Operate
  8. [Wait for a minute]
  9. Go to AWS SQS console and send a message -> ✅ connectors triggered
  10. Start Operate
  11. Go to AWS SQS console and send a message again -> ✅ connectors triggered
zxuanhong commented 10 months ago

@igpetrov At present our processing method is to replace ProcessDefinitionImporter the bean.I was following your steps a little later to see if I could replicate them completely.

image iShot_2023-12-12_10 10 53
igpetrov commented 10 months ago

Hi @zxuanhong, I made a quick test to check whether a @Scheduled method is an issue. The result is that even if exception happens inside @Scheduled method, it will recover. It seems to me that there is something else: maybe network disruption, or somehow throttling got involved. See my test setup:

Screenshot 2023-12-13 at 16 05 07

Code:

package org.example.springscheduled;

import java.util.Random;
import org.springframework.stereotype.Component;

@Component
public class RandomlyFailingBean {

  public void failWith50PercentChance() {
    final var roll = new Random().nextInt(0, 100);
    System.out.println("Rolled " + roll);
    if (roll > 50) {
      throw new RuntimeException("I failed!");
    }
  }
}

---

package org.example.springscheduled;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledBean {

  private final RandomlyFailingBean notVeryStable;

  public ScheduledBean(final RandomlyFailingBean notVeryStable) {
    this.notVeryStable = notVeryStable;
  }

  @Scheduled(fixedDelayString = "1000")
  synchronized void ticker() {
    notVeryStable.failWith50PercentChance();
  }
}

Output:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.2.0)

2023-12-13T15:56:57.888+02:00  INFO 85980 --- [           main] o.e.s.SpringScheduledApplication         : Starting SpringScheduledApplication using Java 17.0.7 with PID 85980 (/Users/igpetrov/Workspaces/Prototypes/SpringScheduled/build/classes/java/main started by igpetrov in /Users/igpetrov/Workspaces/Prototypes/SpringScheduled)
2023-12-13T15:56:57.893+02:00  INFO 85980 --- [           main] o.e.s.SpringScheduledApplication         : No active profile set, falling back to 1 default profile: "default"
2023-12-13T15:56:58.861+02:00  INFO 85980 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2023-12-13T15:56:58.868+02:00  INFO 85980 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-12-13T15:56:58.868+02:00  INFO 85980 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.16]
2023-12-13T15:56:58.908+02:00  INFO 85980 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-12-13T15:56:58.908+02:00  INFO 85980 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 939 ms
2023-12-13T15:56:59.292+02:00  INFO 85980 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path ''
2023-12-13T15:56:59.304+02:00  INFO 85980 --- [           main] o.e.s.SpringScheduledApplication         : Started SpringScheduledApplication in 1.805 seconds (process running for 2.353)
Rolled 21
Rolled 53
2023-12-13T15:57:00.313+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 34
Rolled 75
2023-12-13T15:57:02.330+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 45
Rolled 56
2023-12-13T15:57:04.339+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 66
2023-12-13T15:57:05.346+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 61
2023-12-13T15:57:06.355+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 38
Rolled 78
2023-12-13T15:57:08.370+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 16
Rolled 11
Rolled 96
2023-12-13T15:57:11.386+02:00 ERROR 85980 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.RuntimeException: I failed!
    at org.example.springscheduled.RandomlyFailingBean.failWith50PercentChance(RandomlyFailingBean.java:13) ~[main/:na]
    at org.example.springscheduled.ScheduledBean.ticker(ScheduledBean.java:17) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at io.micrometer.observation.Observation.observe(Observation.java:499) ~[micrometer-observation-1.12.0.jar:1.12.0]
    at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.1.1.jar:6.1.1]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.1.jar:6.1.1]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Rolled 5
Rolled 37
Rolled 4
zxuanhong commented 10 months ago

@igpetrov Our system is a self-implemented operate application. The details will have to be dissected over the weekend. I'll provide details by Monday(I've been so busy lately😂😂😂)

igpetrov commented 10 months ago

No problem @zxuanhong! I'll keep the ticket open then. Please let me know how it goes.

zxuanhong commented 10 months ago

@igpetrov Already found the problem. When spring boot3.2 configuration turns on virtual threads, the scheduled task will stop if an exception is thrown inside the task. Try adding a spring configuration.

spring:
  threads:
    virtual:
      enabled: true

This issue will be fixed by Springboot in 3.2.1. I don't know if it's necessary to do compatibility handling for 3.2.0 (catch exceptions, don't throw them out)#31749 #38846

image image
igpetrov commented 10 months ago

Hey @zxuanhong, thank you for diving deep into the issue. I am afraid, Java 21 features are not yet supported. To ensure stability, my proposal would be to run Connectors on top of JVM 17, or use it inside of a docker container. Maybe take a look at how to run a custom developed connector together with docker container. Hope this helps!

zxuanhong commented 10 months ago

@igpetrov Thank you very much. The spring boot 3.2 virtual thread has now been turned off. Nothing out of the ordinary so far.

igpetrov commented 10 months ago

Closing for now, since it's an upstream dependency (Spring Boot).

Java 21 migration is tracked on a separate stream.