-
Notifications
You must be signed in to change notification settings - Fork 582
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
Unable to set composed-task to boot3 by default #5538
Comments
CTR is still a boot2 application. The apps that it launches can be boot 3 or boot 2.
|
Delete the previous task executions and then relaunch. |
Is there any further progress or additional solutions to try? |
This is a different issue. Before the Composed Task Runner was failing. In this case, it looks like the |
Yes. When creating the applications, I used Spring boot 3.x. Even after recreating composed-task and applications, I noticed that the same error occurred. Environments
Check resultsThe composed-task
The two individual applications that make up composed-task are Spring Boot version 3.x. Individual task a1-integration-task-batch was completed without problem by boot3 version. Comment |
Can you provide a sample project for the application integration-task-batch so that we can recreate the scenario on our side? |
@cppwfs I'm so sorry. |
Can you provide examples of the registrations of the tasks and text of the composed task definitions? |
ExamplesRegistrations of the tasks
[1] integration-task-batch (Application) This task is executed by private docker container Type: TASK
Version: latest
Spring Boot version: 3.x
URI: docker:111122223333.dkr.ecr.ap-northeast-2.amazonaws.com/trade-integration:latest
Metadata URI: N/A
Version(s): 1 Dockerfile FROM ecr.example.com/base-images/company-alpine-corretto-jdk17-config-newrelic:0.0.1
COPY ./deploy/trade-integration-batch.jar trade-integration-batch.jar
ENV SPRING_PROPERTIES_ACTIVE dev
ENV SPRING_APPLICATION_NAME TRADE-INTEGRATION-BATCH
ENV SPRING_CONFIG_URL http://<REDACTED>.<REDACTED>
COPY newrelic.yml newrelic.yml
COPY docker-entrypoint.sh docker-entrypoint.sh
EXPOSE 8080
ENTRYPOINT ["sh", "docker-entrypoint.sh"] [2] task-alarm-composed (Application) This task is executed by private docker container Type: TASK
Version: latest
Spring Boot version: 3.x
URI: docker:111122223333.dkr.ecr.ap-northeast-2.amazonaws.com/task-alarm:latest
Metadata URI: N/A
Version(s): 1 FROM ecr.example.com/base-images/company-alpine-corretto-jdk17-config-newrelic:0.0.1
ARG BUILD_DIR=./build/libs
ARG BUILD_JAR=task-alarm.jar
ENV SPRING_PROPERTIES_ACTIVE ${SPRING_PROPERTIES_ACTIVE:-dev}
ENV SPRING_APPLICATION_NAME ${SPRING_APPLICATION_NAME:-BO-DATA-FLOW-TASK}
ENV SPRING_CONFIG_URL ${SPRING_CONFIG_URL:-http://<REDACTED>.<REDACTED>}
COPY newrelic.yml newrelic.yml
COPY docker-entrypoint.sh docker-entrypoint.sh
COPY ${BUILD_DIR}/${BUILD_JAR} app.jar
EXPOSE 8080
ENTRYPOINT ["sh", "docker-entrypoint.sh"] composed task definition:integration-task-batch && task-alarm-composed The composed task runs the two tasks created above. |
Is there any further progress or additional solutions to try? |
Reviewing the issue again I missed the 401 error you mentioned above. Since it appears you are running SCDF with security enabled, you will need to set additional security properties for CTR when launching it. More can be read about it here: https://dataflow.spring.io/docs/feature-guides/batch/composed-task/#launching-a-composed-task-when-security-is-enabled |
@cppwfs I used Data Flow-provided user token as the CTR authentication method to solve this composed-task error. Referring to the Composed Task Runner document, I added the Argument as shown below and launch the composed-task. --dataflow-server-use-user-access-token=true However, the following error occurs in Composed Task Runner Pod. 2023-12-05 01:57:59.056 ERROR 1 --- [ main] o.s.batch.core.step.AbstractStep : Encountered an error executing step a1-integration-task-batch_0 in job a1
org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 : [no body] Full logs from composed task runner pod: scdf-composed-task-runner 01:57:29.07
scdf-composed-task-runner 01:57:29.08 Welcome to the Bitnami spring-cloud-dataflow-composed-task-runner container
scdf-composed-task-runner 01:57:29.08 Subscribe to project updates by watching https://github.com/bitnami/containers
scdf-composed-task-runner 01:57:29.08 Submit issues and feature requests at https://github.com/bitnami/containers/issues
scdf-composed-task-runner 01:57:29.08
scdf-composed-task-runner 01:57:29.09 INFO ==> ** Starting Spring Cloud Dataflow Compose Task Runner **
_____ _ _______ _
/ ____| | | |__ __| | |
| | ___ _ __ ___ _ __ ___ ___ ___ __| | | | __ _ ___| | __
| | / _ \| '_ ` _ \| '_ \ / _ \/ __|/ _ \/ _` | | |/ _` / __| |/ /
| |___| (_) | | | | | | |_) | (_) \__ \ __/ (_| | | | (_| \__ \ <
\_____\___/|_| |_| |_| .__/ \___/|___/\___|\__,_| |_|\__,_|___/_|\_\
| |
|_|
_____
| __ \
| |__) | _ _ __ _ __ ___ _ __
| _ / | | | '_ \| '_ \ / _ \ '__|
| | \ \ |_| | | | | | | | __/ |
|_| \_\__,_|_| |_|_| |_|\___|_|
2023-12-05 01:57:33.752 INFO 1 --- [ main] o.s.c.d.c.ComposedTaskRunner : Starting ComposedTaskRunner using Java 17.0.8 on a1-8yqemzdmd4 with PID 1 (/opt/bitnami/spring-cloud-dataflow-composed-task-runner/spring-cloud-dataflow-composed-task-runner-2.11.1.jar started by ? in /)
2023-12-05 01:57:33.755 INFO 1 --- [ main] o.s.c.d.c.ComposedTaskRunner : No active profile set, falling back to 1 default profile: "default"
2023-12-05 01:57:38.153 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode
2023-12-05 01:57:38.155 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2023-12-05 01:57:38.256 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 93 ms. Found 0 JPA repository interfaces.
2023-12-05 01:57:40.052 INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.task.batch.configuration.TaskBatchAutoConfiguration' of type [org.springframework.cloud.task.batch.configuration.TaskBatchAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-12-05 01:57:41.556 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2023-12-05 01:57:42.255 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2023-12-05 01:57:42.951 INFO 1 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2023-12-05 01:57:43.254 INFO 1 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.15.Final
2023-12-05 01:57:43.972 INFO 1 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2023-12-05 01:57:44.665 INFO 1 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MariaDB53Dialect
2023-12-05 01:57:46.062 INFO 1 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2023-12-05 01:57:46.149 INFO 1 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2023-12-05 01:57:46.786 INFO 1 --- [ main] .c.d.c.ComposedTaskStepExecutionListener : ComposedTaskStepExecutionListener supporting [a1-integration-task-batch, integration-task-batch, a1-task-alarm-composed, task-alarm-composed]
2023-12-05 01:57:46.870 INFO 1 --- [ main] o.s.b.c.r.s.JobRepositoryFactoryBean : No database type set, using meta data indicating: MYSQL
2023-12-05 01:57:46.981 INFO 1 --- [ main] o.s.b.c.r.s.JobRepositoryFactoryBean : No database type set, using meta data indicating: MYSQL
2023-12-05 01:57:46.997 INFO 1 --- [ main] o.s.b.c.l.support.SimpleJobLauncher : No TaskExecutor has been set, defaulting to synchronous executor.
2023-12-05 01:57:48.759 INFO 1 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path '/actuator'
2023-12-05 01:57:55.653 WARN 1 --- [ main] i.m.p.rsocket.PrometheusRSocketClient : Creating the connection and receiving the key timed out!
2023-12-05 01:57:56.063 INFO 1 --- [ main] ctiveUserDetailsServiceAutoConfiguration :
Using generated security password: XXX-XXX-XXX-XXX-XXX
2023-12-05 01:57:56.954 INFO 1 --- [ main] o.s.c.d.c.ComposedTaskRunnerTaskListener : onTaskStartup:executionId=137
2023-12-05 01:57:56.965 INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080
2023-12-05 01:57:57.060 INFO 1 --- [ main] o.s.c.d.c.ComposedTaskRunner : Started ComposedTaskRunner in 25.991 seconds (JVM running for 27.959)
2023-12-05 01:57:57.063 INFO 1 --- [ main] o.s.b.a.b.JobLauncherApplicationRunner : Running default command line with: []
2023-12-05 01:57:57.064 INFO 1 --- [ main] o.s.b.c.r.s.JobRepositoryFactoryBean : No database type set, using meta data indicating: MYSQL
2023-12-05 01:57:57.454 INFO 1 --- [ main] o.s.b.c.l.support.SimpleJobLauncher : Job: [FlowJob: [name=a1]] launched with the following parameters: [{run.id=4}]
2023-12-05 01:57:57.464 INFO 1 --- [ main] o.s.c.t.b.l.TaskBatchExecutionListener : The job execution id 64 was run within the task execution 137
2023-12-05 01:57:57.552 INFO 1 --- [ main] o.s.batch.core.job.SimpleStepHandler : Executing step: [a1-integration-task-batch_0]
2023-12-05 01:57:57.559 INFO 1 --- [ main] .c.d.c.ComposedTaskStepExecutionListener : beforeStep:a1-integration-task-batch_0:64>>>>
2023-12-05 01:57:57.560 INFO 1 --- [ main] .c.d.c.ComposedTaskStepExecutionListener : beforeStep:a1-integration-task-batch_0:64<<<
2023-12-05 01:57:59.056 ERROR 1 --- [ main] o.s.batch.core.step.AbstractStep : Encountered an error executing step a1-integration-task-batch_0 in job a1
org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 : [no body]
at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:105) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:168) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.cloud.dataflow.rest.client.VndErrorResponseErrorHandler.handleError(VndErrorResponseErrorHandler.java:62) ~[spring-cloud-dataflow-rest-client-2.11.1.jar!/:na]
at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:825) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:783) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:757) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:358) ~[spring-web-5.3.30.jar!/:5.3.30]
at org.springframework.cloud.dataflow.rest.client.DataFlowTemplate.<init>(DataFlowTemplate.java:150) ~[spring-cloud-dataflow-rest-client-2.11.1.jar!/:na]
at org.springframework.cloud.dataflow.composedtaskrunner.TaskLauncherTasklet.dataFlowOperations(TaskLauncherTasklet.java:327) ~[classes!/:na]
at org.springframework.cloud.dataflow.composedtaskrunner.TaskLauncherTasklet.taskOperations(TaskLauncherTasklet.java:265) ~[classes!/:na]
at org.springframework.cloud.dataflow.composedtaskrunner.TaskLauncherTasklet.execute(TaskLauncherTasklet.java:163) ~[classes!/:na]
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.30.jar!/:5.3.30]
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375) ~[spring-batch-infrastructure-4.3.9.jar!/:4.3.9]
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-4.3.9.jar!/:4.3.9]
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145) ~[spring-batch-infrastructure-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:152) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:68) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:68) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:167) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:142) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.state.FlowState.handle(FlowState.java:56) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:167) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:142) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:139) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:320) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:149) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) ~[spring-core-5.3.30.jar!/:5.3.30]
at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:140) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:128) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar!/:5.3.30]
at jdk.proxy2/jdk.proxy2.$Proxy92.run(Unknown Source) ~[na:na]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:213) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.executeLocalJobs(JobLauncherApplicationRunner.java:193) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.launchJobFromProperties(JobLauncherApplicationRunner.java:172) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:167) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:162) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:759) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:749) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.cloud.dataflow.composedtaskrunner.ComposedTaskRunner.main(ComposedTaskRunner.java:31) ~[classes!/: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.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
2023-12-05 01:57:59.057 INFO 1 --- [ main] .c.d.c.ComposedTaskStepExecutionListener : AfterStep processing for stepExecution a1-integration-task-batch_0:64
2023-12-05 01:57:59.057 ERROR 1 --- [ main] o.s.batch.core.step.AbstractStep : Exception in afterStep callback in step a1-integration-task-batch_0 in job a1
java.lang.IllegalArgumentException: TaskLauncherTasklet for job 64 did not return a task-execution-id. Check to see if task exists.
at org.springframework.util.Assert.notNull(Assert.java:201) ~[spring-core-5.3.30.jar!/:5.3.30]
at org.springframework.cloud.dataflow.composedtaskrunner.ComposedTaskStepExecutionListener.afterStep(ComposedTaskStepExecutionListener.java:67) ~[classes!/:na]
at org.springframework.batch.core.listener.CompositeStepExecutionListener.afterStep(CompositeStepExecutionListener.java:64) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:247) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:152) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:68) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:68) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:167) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:142) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.state.FlowState.handle(FlowState.java:56) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:167) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:142) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:139) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:320) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:149) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) ~[spring-core-5.3.30.jar!/:5.3.30]
at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:140) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:128) ~[spring-batch-core-4.3.9.jar!/:4.3.9]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar!/:5.3.30]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar!/:5.3.30]
at jdk.proxy2/jdk.proxy2.$Proxy92.run(Unknown Source) ~[na:na]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:213) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.executeLocalJobs(JobLauncherApplicationRunner.java:193) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.launchJobFromProperties(JobLauncherApplicationRunner.java:172) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:167) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:162) ~[spring-boot-autoconfigure-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:759) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:749) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.16.jar!/:2.7.16]
at org.springframework.cloud.dataflow.composedtaskrunner.ComposedTaskRunner.main(ComposedTaskRunner.java:31) ~[classes!/: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.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[spring-cloud-dataflow-composed-task-runner-2.11.1.jar:na]
2023-12-05 01:57:59.060 INFO 1 --- [ main] o.s.batch.core.step.AbstractStep : Step: [a1-integration-task-batch_0] executed in 1s508ms
2023-12-05 01:57:59.077 INFO 1 --- [ main] o.s.b.c.l.support.SimpleJobLauncher : Job: [FlowJob: [name=a1]] completed with the following parameters: [{run.id=4}] and the following status: [FAILED] in 1s614ms
2023-12-05 01:57:59.161 INFO 1 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2023-12-05 01:57:59.163 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2023-12-05 01:57:59.167 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. Data Flow-provided user token as the CTR authentication method is not working for me. |
Is there any further progress or additional solutions to try? # values.yaml for spring-cloud-dataflow
...
composedTaskRunner:
## Bitnami Spring Cloud Dataflow Composed Task Runner image
## ref: https://hub.docker.com/r/bitnami/spring-cloud-dataflow/tags/
## @param server.composedTaskRunner.image.registry [default: REGISTRY_NAME] Spring Cloud Dataflow Composed Task Runner image registry
## @param server.composedTaskRunner.image.repository [default: REPOSITORY_NAME/spring-cloud-dataflow-composed-task-runner] Spring Cloud Dataflow Composed Task Runner image repository
## @skip server.composedTaskRunner.image.tag Spring Cloud Dataflow Composed Task Runner image tag (immutable tags are recommended)
## @param server.composedTaskRunner.image.digest Spring Cloud Dataflow Composed Task Runner image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
##
image:
registry: docker.io
repository: bitnami/spring-cloud-dataflow-composed-task-runner
tag: 2.11.1-debian-11-r0
... |
I recently discovered a workaround. I think the cause of this problem is not a version issue with the Spring Boot 2.x to 3.x configuration, It appears to be an OAuth authentication issue between the composed task runner and SCDF Server. I have not yet found a straight solution. Environment
SymptomWhen I ran the CTR(Composed Task Runner), WorkaroundComment out the OAuth2 settings to disable them.
# spring-cloud-dataflow/server/configmap.yaml
# HELM TEMPLATE
...
data:
application.yaml: |-
{{- if .Values.metrics.enabled }}
{{- $fullname := include "scdf.fullname" . }}
{{- $rsocketPort := int (coalesce .Values.metrics.service.ports.rsocket .Values.metrics.service.rsocketPort) }}
management:
metrics:
export:
prometheus:
enabled: true
rsocket:
enabled: true
host: {{ $fullname }}-prometheus-proxy
port: {{ $rsocketPort }}
{{- end }}
spring:
{{- /* Comment to get workaround 401 authentication issue
security:
basic:
enabled: true
realm: Spring Cloud Data Flow
oauth2:
client:
authorization:
check-token-access: isAuthenticated()
registration:
google:
client-id: <REDACTED>-<REDACTED>.apps.googleusercontent.com
client-secret: XXXXXX-<REDACTED>-<REDACTED>
scope:
- profile
- email
redirect-uri: https://dataflow.example.com/login/oauth2/code/google
authorization-grant-type: authorization_code
provider:
google:
user-info-uri: https://www.googleapis.com/oauth2/v3/userinfo
user-name-attribute: email
*/}}
cloud:
config:
enabled: true
... After redeploying the SCDF Server Pod to apply new configmap, I ran CTR and it ran successfully. NoteEven if I apply the Data Flow-provided user token method mentioned in the official doc, the same References |
Looks like this issue is resolved. If closed by mistake please add a comment. Thank you! |
Description:
I run composed-task, but failed with following error messages.
Error messages in composed-task:
Application properties in k8s ConfigMap:
I set up Application Properties by referring to the two articles (#5470 #5482).
To change the boot version related arguments to boot3 in composed-task, I try to add the three parameters below referring this comment
spring.cloud.task.schemaTarget = boot3
spring.cloud.task.tablePrefix = BOOT3_TASK_
spring.cloud.deployer.bootVersion = 3
Release versions:
Screenshots:
Screenshot moved after pressing the Launch Task button:
Failed composed-task parameter screenshot:
List of task execution:
Schema Target value is
boot2
, instead ofboot3
in the Task executions menu.Why is it output as boot2 even though Application Properties is set through ConfigMap?
Is there a way to set it up or documents?
The text was updated successfully, but these errors were encountered: