Relationship between Task and Job not recorded after a failure during beforeJob

Đang mở
#672 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
java, spring
Lĩnh vực
backend, databases

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện một exception trong beforeJob và so sánh các lần ghi vào task_task_batch với các bảng task và job được liệt kê. Hoàn thành khi mối quan hệ Task Execution–Job Execution được ghi lại sau lỗi và menu Jobs của Spring Cloud Data Flow UI không còn gây ra lỗi.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

type: enhancement

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

Ngôn ngữ chính
Java
Star
446
Fork
310
Merge trung bình
18 giờ 18 phút
Pull request đã merge (30 ngày)
6

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của spring-cloud/spring-cloud-task

Tất cả issue của spring-cloud/spring-cloud-task

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.