Skip to content
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

Process task runner fails to produce Outputs #7053

Closed
yuri1969 opened this issue Jan 29, 2025 · 0 comments
Closed

Process task runner fails to produce Outputs #7053

yuri1969 opened this issue Jan 29, 2025 · 0 comments
Labels
area/backend Needs backend code changes bug Something isn't working kind/backport-needed Issue that needs to be backported to a previous version

Comments

@yuri1969
Copy link
Contributor

Describe the issue

Unlike the Docker task runner the Process one doesn't produce an Output for shell tasks.


  1. Create following flow:
id: testTaskRunner
namespace: company.team

tasks:
  - id: useTaskRunner
    type: io.kestra.plugin.scripts.shell.Commands
    warningOnStdErr: false
    taskRunner:
      type: io.kestra.plugin.core.runner.Process # FIXME
      #type: io.kestra.plugin.scripts.runner.docker.Docker # OK
    commands:
      - echo 'test'
  1. Run using the Process task runner
  2. Check the execution's Outputs - they are empty
  3. Check the Logs - there is a warning:
java.lang.IllegalArgumentException: No serializer found for class io.kestra.core.models.tasks.runners.TaskRunnerDetailResult and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: io.kestra.plugin.scripts.exec.scripts.models.ScriptOutput["taskRunner"])
	at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4636)
	at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4577)
	at io.kestra.core.serializers.JacksonMapper.toMap(JacksonMapper.java:87)
	at io.kestra.core.models.tasks.Output.

<!-- Failed to upload "serialization.patch" -->

(Output.java:16)
	at io.kestra.core.runners.Worker.runAttempt(Worker.java:818)
	at io.kestra.core.runners.Worker.run(Worker.java:640)
	at io.kestra.core.runners.Worker.handleTask(Worker.java:332)
	at io.kestra.core.runners.Worker.lambda$run$8(Worker.java:261)
	at io.micrometer.core.instrument.internal.TimedRunnable.run(TimedRunnable.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class io.kestra.core.models.tasks.runners.TaskRunnerDetailResult and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: io.kestra.plugin.scripts.exec.scripts.models.ScriptOutput["taskRunner"])
	at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
	at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1328)
	at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:414)
	at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:53)
	at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:30)
	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
	at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770)
	at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:184)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:502)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:341)
	at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4614)
	... 11 more

The culprit might be the TaskRunnerDetailResult having no valid attributes. Demo: serialization.patch.txt

Environment

  • Kestra Version: develop
@yuri1969 yuri1969 added area/backend Needs backend code changes area/frontend Needs frontend code changes bug Something isn't working labels Jan 29, 2025
@github-project-automation github-project-automation bot moved this to Backlog in Issues Jan 29, 2025
@loicmathieu loicmathieu added kind/backport-needed Issue that needs to be backported to a previous version and removed area/frontend Needs frontend code changes labels Jan 30, 2025
@github-project-automation github-project-automation bot moved this from Backlog to Done in Issues Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend Needs backend code changes bug Something isn't working kind/backport-needed Issue that needs to be backported to a previous version
Projects
Status: Done
Development

No branches or pull requests

2 participants