You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the table "task_task_batch", usually, there are recorded the relationships between the Task Execution Ids and the Job Execution Ids. We have a simple task that only contains a job, and the issue is that if there is an exception during the execution of the beforeJob statement, the relationship is not recorded.
Reviewing the tables that contains all the information of the job ("batch_job_execution", "batch_job_execution_context", "batch_job_execution_params", "batch_job_instance") and the task ("task_execution", "task_execution_metadata", "task_execution_params"), we can see that all the registers has been recorded.
We could think that since the error is "before the job", the relationship was not created because there would not be a job instance, but the records are there, so we do not know why the table "task_task_batch" is not filled.
This behavior makes, for example, that if we try to use the Spring Cloud Data Flow UI, and go to the "Jobs" menu, an Error is returned as it does not find the relationship between all the task executions and job executions.
For now, we have coded a work around in the afterJob statement (because it is executed even when there is a failure in the beforeJob) that check if the "task_tack_batch" table contains a record for the current taskExecutionId, and inserts it if it doesn't exist.
In the table "task_task_batch", usually, there are recorded the relationships between the Task Execution Ids and the Job Execution Ids. We have a simple task that only contains a job, and the issue is that if there is an exception during the execution of the beforeJob statement, the relationship is not recorded.
Reviewing the tables that contains all the information of the job ("batch_job_execution", "batch_job_execution_context", "batch_job_execution_params", "batch_job_instance") and the task ("task_execution", "task_execution_metadata", "task_execution_params"), we can see that all the registers has been recorded.
We could think that since the error is "before the job", the relationship was not created because there would not be a job instance, but the records are there, so we do not know why the table "task_task_batch" is not filled.
This behavior makes, for example, that if we try to use the Spring Cloud Data Flow UI, and go to the "Jobs" menu, an Error is returned as it does not find the relationship between all the task executions and job executions.
For now, we have coded a work around in the afterJob statement (because it is executed even when there is a failure in the beforeJob) that check if the "task_tack_batch" table contains a record for the current taskExecutionId, and inserts it if it doesn't exist.
Release versions:
spring-cloud-task: 2.2.2.RELEASE
spring-boot: 2.1.2.RELEASE
spring-batch: 4.1.1.RELEASE
spring: 5.1.4.RELEASE
The text was updated successfully, but these errors were encountered: