[ 
https://issues.apache.org/jira/browse/GOBBLIN-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Apekshit Kumar updated GOBBLIN-1964:
------------------------------------
    Description: 
*Context :*
Currently due to NN availability issues, acquire job lock is failing, because 
of which job fails.

 
{code:java}
 select deployment_id, status, count(*) from gobblin_job_queue where 
created_date >= '2021-09-01' and created_date < '2021-10-01' and 
failure_exception like '%NullPointerException%' group by deployment_id, status 
order by deployment_id, status;
+---------------+--------+----------+
| deployment_id | status | count(*) |
+---------------+--------+----------+
| 1             | FAILED | 253      |
| 2             | FAILED | 6        |
| 230           | FAILED | 157      |
| 22702         | FAILED | 11       |
| 22703         | FAILED | 13       |
| 22704         | FAILED | 2        |
+---------------+--------+----------+
6 rows in set (1.04 sec)

mysql> select deployment_id, status, count(*) from gobblin_job_queue where 
created_date >= '2021-08-01' and created_date < '2021-09-01' and 
failure_exception like '%NullPointerException%' group by deployment_id, status 
order by deployment_id, status;
+---------------+--------+----------+
| deployment_id | status | count(*) |
+---------------+--------+----------+
| 1             | FAILED | 1091     |
| 3             | FAILED | 1598     |
| 230           | FAILED | 15870    |
+---------------+--------+----------+
3 rows in set (1.18 sec)
{code}
*Acceptance Criteria:*
Job lock acquisition to be made resilient to NN issues, probably by moving 
locks to Zk or retrying while acquiring lock, in case of NN issues 
(IOExceptions)@

  was:
*Context:*

Following a restart, Gobblin service is currently unable to process previous 
jobs in the RUNNING/LAUNCHED/SUBMITTED state, resulting in a stuck state for 
these jobs.

*Example scenario mentioned here*

A job is in the LAUNCHED state, and while calculating CDC, the Application 
master got re-attempted, actually due to name node issue (can be any env 
issues).

 
!2ac4a7d8-f168-4877-a583-03d62f1384ac.png|width=1179,height=574!
 

*As the job state in DB  :*
{code:java}
mysql> select * from gobblin_job_queue where 
job_name='DM-JOB-fpti-druid-dp-venmo' order by created_date desc limit 10;
+------------------------------------------+----------------------------+---------------+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+----------------------------------------------+---------------------+---------------------+
| queue_id | job_name | deployment_id | failure_exception | configs | status | 
job_id | created_date | updated_date |
+------------------------------------------+----------------------------+---------------+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+----------------------------------------------+---------------------+---------------------+
| DM-JOB-fpti-druid-dp-venmo_1630444318758 | DM-JOB-fpti-druid-dp-venmo | 2 | 
NULL | 
\{"dataset":{"batch_id":"20210831211155","name":"default._druid-test_dataproc-jobs_venmo","snapshot_id":"20210831211155"},"gobblin":\{"client":{"id":"AIRFLOW_PAZ_DMP_DO"},"deployment":\{"name":"DMP228"}},"namespace":"Chunnel"}
 | LAUNCHED | job_DM-JOB-fpti-druid-dp-venmo_1630444325903 | 2021-08-31 
21:12:00 | 2021-08-31 21:12:38 | 
{code}
 

*Acceptance Criteria:*
 # Gobblin Jobs should be resumed, even if GobblinAppMaster gets restarted when 
the Jobs are not finalized.
 # The system should automatically resume jobs that were in the 
RUNNING/LAUNCHED/SUBMITTED state after the restart.
 # The solution should address lingering locks acquired in the previous run.
 # It should not pick up the jobs/clean locks that are being picked up by other 
deployments, as part of work stealing.

 
 
 


> [Gobblin] Job lock acquisition should be made resilient
> -------------------------------------------------------
>
>                 Key: GOBBLIN-1964
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1964
>             Project: Apache Gobblin
>          Issue Type: Bug
>          Components: misc
>    Affects Versions: 0.15.0
>            Reporter: Apekshit Kumar
>            Priority: Minor
>
> *Context :*
> Currently due to NN availability issues, acquire job lock is failing, because 
> of which job fails.
>  
> {code:java}
>  select deployment_id, status, count(*) from gobblin_job_queue where 
> created_date >= '2021-09-01' and created_date < '2021-10-01' and 
> failure_exception like '%NullPointerException%' group by deployment_id, 
> status order by deployment_id, status;
> +---------------+--------+----------+
> | deployment_id | status | count(*) |
> +---------------+--------+----------+
> | 1             | FAILED | 253      |
> | 2             | FAILED | 6        |
> | 230           | FAILED | 157      |
> | 22702         | FAILED | 11       |
> | 22703         | FAILED | 13       |
> | 22704         | FAILED | 2        |
> +---------------+--------+----------+
> 6 rows in set (1.04 sec)
> mysql> select deployment_id, status, count(*) from gobblin_job_queue where 
> created_date >= '2021-08-01' and created_date < '2021-09-01' and 
> failure_exception like '%NullPointerException%' group by deployment_id, 
> status order by deployment_id, status;
> +---------------+--------+----------+
> | deployment_id | status | count(*) |
> +---------------+--------+----------+
> | 1             | FAILED | 1091     |
> | 3             | FAILED | 1598     |
> | 230           | FAILED | 15870    |
> +---------------+--------+----------+
> 3 rows in set (1.18 sec)
> {code}
> *Acceptance Criteria:*
> Job lock acquisition to be made resilient to NN issues, probably by moving 
> locks to Zk or retrying while acquiring lock, in case of NN issues 
> (IOExceptions)@



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to