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

Alexander Petrovsky updated AIRFLOW-1358:
-----------------------------------------
    Issue Type: Bug  (was: New Feature)

> SQL file renderer and on_failure_callback
> -----------------------------------------
>
>                 Key: AIRFLOW-1358
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-1358
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: core
>            Reporter: Alexander Petrovsky
>
> I have the follow dag:
> https://gist.github.com/juise/cc006584e17be72e78550aab53a1be9c
> When I broke my firs step (prepare), on_failure_callback function was called, 
> but it's crashed too, due looks like in sql rendered something is broken, and 
> he can't work with sql files (by example, by cleanup.sql file, see more info 
> below). But, when I use flat sql instead of sql file, everything works 
> perfectly. 
> My cleanup.sql file:
> {code:java}
> $ cat cleanup.sql
> DROP TABLE IF EXISTS etl.{{ params.target_table }}_{{ ts_nodash }} CASCADE;
> {code:java}
> Log:
> {code:java}
> [2017-06-29 15:14:13,474] {models.py:168} INFO - Filling up the DagBag from 
> /opt/airflow/dags/ga_full_stats_test/ga_full_stats.py
> [2017-06-29 15:14:13,852] {base_hook.py:67} INFO - Using connection to: 
> v2.rtty.in
> [2017-06-29 15:14:13,858] {base_hook.py:67} INFO - Using connection to: 
> vga.rtty.in
> [2017-06-29 15:14:13,893] {base_task_runner.py:112} INFO - Running: ['bash', 
> '-c', u'airflow run ga_full_stats_test_v2 prepare 2017-06-06T10:27:00 
> --job_id 123798 --raw -sd DAGS_FOLDER/ga_full_stats_test/ga_full_stats.py']
> [2017-06-29 15:14:14,391] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:14,391] {__init__.py:57} INFO - Using executor 
> CeleryExecutor
> [2017-06-29 15:14:14,924] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:14,924] {models.py:168} INFO - Filling up the DagBag from 
> /opt/airflow/dags/ga_full_stats_test/ga_full_stats.py
> [2017-06-29 15:14:15,088] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,087] {base_hook.py:67} INFO - Using connection to: 
> v2.rtty.in
> [2017-06-29 15:14:15,091] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,091] {base_hook.py:67} INFO - Using connection to: 
> vga.rtty.in
> [2017-06-29 15:14:15,109] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,109] {models.py:1128} INFO - Dependencies all met for 
> <TaskInstance: ga_full_stats_test_v2.prepare 2017-06-06 10:27:00 [queued]>
> [2017-06-29 15:14:15,112] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,112] {models.py:1128} INFO - Dependencies all met for 
> <TaskInstance: ga_full_stats_test_v2.prepare 2017-06-06 10:27:00 [queued]>
> [2017-06-29 15:14:15,112] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,112] {models.py:1328} INFO - 
> [2017-06-29 15:14:15,112] {base_task_runner.py:95} INFO - Subtask: 
> --------------------------------------------------------------------------------
> [2017-06-29 15:14:15,112] {base_task_runner.py:95} INFO - Subtask: Starting 
> attempt 1 of 1
> [2017-06-29 15:14:15,112] {base_task_runner.py:95} INFO - Subtask: 
> --------------------------------------------------------------------------------
> [2017-06-29 15:14:15,112] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,120] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,120] {models.py:1352} INFO - Executing 
> <Task(VerticaOperator): prepare> on 2017-06-06 10:27:00
> [2017-06-29 15:14:15,138] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,137] {vertica_operator.py:45} INFO - Executing: CREATE 
> TABLE etl.stats_full_daily_test_20170606T102700 1 LIKE 
> public.stats_full_daily_test;
> [2017-06-29 15:14:15,141] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,141] {base_hook.py:67} INFO - Using connection to: 
> vga.rtty.in
> [2017-06-29 15:14:15,158] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,158] {dbapi_hook.py:167} INFO - CREATE TABLE 
> etl.stats_full_daily_test_20170606T102700 1 LIKE public.stats_full_daily_test;
> [2017-06-29 15:14:15,164] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,164] {models.py:1427} ERROR - Severity: ERROR, Message: 
> Syntax error at or near "1", Sqlstate: 42601, Position: 56, Routine: 
> base_yyerror, File: 
> /scratch_a/release/svrtar18593/vbuild/vertica/Parser/scan.l, Line: 1043, SQL: 
> 'CREATE TABLE etl.stats_full_daily_test_20170606T102700 1 LIKE 
> public.stats_full_daily_test;'
> [2017-06-29 15:14:15,164] {base_task_runner.py:95} INFO - Subtask: Traceback 
> (most recent call last):
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/models.py", line 1384, in run
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:     result 
> = task_copy.execute(context=context)
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/contrib/operators/vertica_operator.py",
>  line 47, in execute
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:     
> hook.run(self.sql)
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/hooks/dbapi_hook.py", line 171, in 
> run
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:     
> cur.execute(s)
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/vertica_python/vertica/cursor.py", line 
> 111, in execute
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask:     raise 
> errors.QueryError.from_error_response(self._message, operation)
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask: 
> VerticaSyntaxError: Severity: ERROR, Message: Syntax error at or near "1", 
> Sqlstate: 42601, Position: 56, Routine: base_yyerror, File: 
> /scratch_a/release/svrtar18593/vbuild/vertica/Parser/scan.l, Line: 1043, SQL: 
> 'CREATE TABLE etl.stats_full_daily_test_20170606T102700 1 LIKE 
> public.stats_full_daily_test;'
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,164] {models.py:1451} INFO - Marking task as FAILED.
> [2017-06-29 15:14:15,165] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,165] {vertica_operator.py:45} INFO - Executing: 
> cleanup.sql
> [2017-06-29 15:14:15,169] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,169] {base_hook.py:67} INFO - Using connection to: 
> vga.rtty.in
> [2017-06-29 15:14:15,181] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,181] {dbapi_hook.py:167} INFO - cleanup.sql
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,185] {models.py:1466} ERROR - Failed at executing 
> callback
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,185] {models.py:1467} ERROR - Severity: ERROR, Message: 
> Syntax error at or near "cleanup", Sqlstate: 42601, Position: 1, Routine: 
> base_yyerror, File: 
> /scratch_a/release/svrtar18593/vbuild/vertica/Parser/scan.l, Line: 1043, SQL: 
> 'cleanup.sql'
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask: Traceback 
> (most recent call last):
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/models.py", line 1464, in 
> handle_failure
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:     
> task.on_failure_callback(context)
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:   File 
> "/opt/airflow/dags/ga_full_stats_test/ga_full_stats.py", line 64, in 
> cleanup_on_failure
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:     
> cleanup.execute(context)
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/contrib/operators/vertica_operator.py",
>  line 47, in execute
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:     
> hook.run(self.sql)
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/hooks/dbapi_hook.py", line 171, in 
> run
> [2017-06-29 15:14:15,185] {base_task_runner.py:95} INFO - Subtask:     
> cur.execute(s)
> [2017-06-29 15:14:15,186] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/vertica_python/vertica/cursor.py", line 
> 111, in execute
> [2017-06-29 15:14:15,186] {base_task_runner.py:95} INFO - Subtask:     raise 
> errors.QueryError.from_error_response(self._message, operation)
> [2017-06-29 15:14:15,186] {base_task_runner.py:95} INFO - Subtask: 
> VerticaSyntaxError: Severity: ERROR, Message: Syntax error at or near 
> "cleanup", Sqlstate: 42601, Position: 1, Routine: base_yyerror, File: 
> /scratch_a/release/svrtar18593/vbuild/vertica/Parser/scan.l, Line: 1043, SQL: 
> 'cleanup.sql'
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask: 
> [2017-06-29 15:14:15,191] {models.py:1472} ERROR - Severity: ERROR, Message: 
> Syntax error at or near "1", Sqlstate: 42601, Position: 56, Routine: 
> base_yyerror, File: 
> /scratch_a/release/svrtar18593/vbuild/vertica/Parser/scan.l, Line: 1043, SQL: 
> 'CREATE TABLE etl.stats_full_daily_test_20170606T102700 1 LIKE 
> public.stats_full_daily_test;'
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask: Traceback 
> (most recent call last):
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/bin/airflow", line 28, in <module>
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:     
> args.func(args)
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/bin/cli.py", line 422, in run
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:     
> pool=args.pool,
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/utils/db.py", line 53, in wrapper
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:     result 
> = func(*args, **kwargs)
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/models.py", line 1384, in run
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:     result 
> = task_copy.execute(context=context)
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/contrib/operators/vertica_operator.py",
>  line 47, in execute
> [2017-06-29 15:14:15,191] {base_task_runner.py:95} INFO - Subtask:     
> hook.run(self.sql)
> [2017-06-29 15:14:15,192] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/airflow/hooks/dbapi_hook.py", line 171, in 
> run
> [2017-06-29 15:14:15,192] {base_task_runner.py:95} INFO - Subtask:     
> cur.execute(s)
> [2017-06-29 15:14:15,192] {base_task_runner.py:95} INFO - Subtask:   File 
> "/usr/lib/python2.7/site-packages/vertica_python/vertica/cursor.py", line 
> 111, in execute
> [2017-06-29 15:14:15,192] {base_task_runner.py:95} INFO - Subtask:     raise 
> errors.QueryError.from_error_response(self._message, operation)
> [2017-06-29 15:14:15,192] {base_task_runner.py:95} INFO - Subtask: 
> vertica_python.errors.VerticaSyntaxError: Severity: ERROR, Message: Syntax 
> error at or near "1", Sqlstate: 42601, Position: 56, Routine: base_yyerror, 
> File: /scratch_a/release/svrtar18593/vbuild/vertica/Parser/scan.l, Line: 
> 1043, SQL: 'CREATE TABLE etl.stats_full_daily_test_20170606T102700 1 LIKE 
> public.stats_full_daily_test;'
> [2017-06-29 15:14:15,893] {jobs.py:2107} INFO - Task exited with return code 1
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to