[GitHub] [airflow] dstandish edited a comment on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish edited a comment on issue #6210: [AIRFLOW-5567] 
BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval, and `xcom_pull` sorts 
by execution_date.  So, suppose I want to persist state with XCom (which I do 
in many jobs), and I have a daily job, running at midnight.  At end of each 
run, we push some value to XCom.  At start of next job, we retrieve last value 
and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D4
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds appropriate.  I am a bit skeptical of the notion that this is 
a radical change; I would be shocked if stateful processes were not already an 
extremely common use pattern.  I suspect the effect of such a change would be 
more to provide better support for an existing use pattern than to change the 
way airflow is used (because it can already be done with XCom, if only 
imperfectly).
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish edited a comment on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish edited a comment on issue #6210: [AIRFLOW-5567] 
BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval, and `xcom_pull` sorts 
by execution_date.  So, suppose I want to persist state with XCom (which I do 
in many jobs), and I have a daily job, running at midnight.  At end of each 
run, we push some value to XCom.  At start of next job, we retrieve last value 
and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D4
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds appropriate.  I am just a bit skeptical of the notion that 
this is some radical change; I would be shocked if stateful processes were not 
already an extremely common use pattern.  I suspect the effect of such a change 
would be more to provide better support for an existing use pattern than to 
change the way airflow is used (because it can already be done with XCom, if 
only imperfectly).
   
   Airflow provides great support for a particular kind of "idempotent" task, 
but surely it doesn't say this is the only way it should be used! 
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish edited a comment on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish edited a comment on issue #6210: [AIRFLOW-5567] 
BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval, and `xcom_pull` sorts 
by execution_date.  So, suppose I want to persist state with XCom (which I do 
in many jobs), and I have a daily job, running at midnight.  At end of each 
run, we push some value to XCom.  At start of next job, we retrieve last value 
and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D4
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds appropriate.  I am just a bit skeptical of the notion that 
this is some radical change; I would be shocked if stateful processes were not 
already an extremely common use pattern.  Here the goal would be to provide 
better support for them out of the box.  
   
   Airflow provides great support for a particular kind of "idempotent" task, 
but surely it doesn't say this is the only way it should be used! 
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish edited a comment on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish edited a comment on issue #6210: [AIRFLOW-5567] 
BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval, and `xcom_pull` sorts 
by execution_date.  So, suppose I want to persist state with XCom (which I do 
in many jobs), and I have a daily job, running at midnight.  At end of each 
run, we push some value to XCom.  At start of next job, we retrieve last value 
and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D4
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds appropriate.  I am just a bit skeptical of the notion that 
this is some radical change; I would be shocked if stateful processes were not 
already an extremely common use pattern.  Here the goal would be to provide 
better support for them out of the box.  
   
   Airflow provides great support for a particular kind of "idempotent" task, 
but surely it doesn't say this is the only way we can use it! 
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish edited a comment on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish edited a comment on issue #6210: [AIRFLOW-5567] 
BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval.  So, suppose I want 
to persist state with XCom (which I do in many jobs), and I have a daily job, 
running at midnight.  At end of each run, we push some value to XCom.  At start 
of next job, we retrieve last value and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D4
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds appropriate.  I am just a bit skeptical of the notion that 
this is some radical change; I would be shocked if stateful processes were not 
already an extremely common use pattern.  Here the goal would be to provide 
better support for them out of the box.  
   
   Airflow provides great support for a particular kind of "idempotent" task, 
but surely it doesn't say this is the only way we can use it! 
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish edited a comment on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish edited a comment on issue #6210: [AIRFLOW-5567] 
BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval.  So, suppose I want 
to persist state with XCom (which I do in many jobs), and I have a daily job, 
running at midnight.  At end of each run, we push some value to XCom.  At start 
of next job, we retrieve last value and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D4
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds reasonable.  I am just a bit skeptical of the notion that this 
is some radical change; I would be shocked if stateful processes were not 
already an extremely common use pattern.  Here the goal would be to provide 
better support for them out of the box.  
   
   Airflow provides great support for a particular kind of "idempotent" task, 
but surely it doesn't say this is the only way we can use it! 
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish commented on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish commented on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558030520
 
 
   > Having a state table will have a fundamental impact on the idempotency of 
the execution of the tasks.
   
   It's optional to use such a thing.  Just like it is with XCom.  If you don't 
use it, nothing is changed.
   
   > Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Because execution_date is run date minus one interval.  So, suppose I want 
to persist state with XCom (which I do in many jobs), and I have a daily job, 
running at midnight.  At end of each run, we push some value to XCom.  At start 
of next job, we retrieve last value and use it somehow. Consider this case:
   * run 1: 12am D1
   * run 2: manually triggered at 8am (exec date is D1 8am; xcom retrieves from 
run 1)
   * run 3: 12am D2
   * run 4: 12am D3
   * run 5: 12am D3
   
   Outcome:
   * Run 3 will retrive the XCom from run 1, because its execution date is 
prior to run 2 execution date.
   * Run 4 retrieves run 2 for same reason.
   * Run 5 retrieves run 4 (finally things are back in order); run 3 xcom is 
never retrieved by any job.
   
   The schedule interval edge PR would resolve the execution date ordering 
problem.  But if XCom is cleared at start of task, it is remains problematic as 
a mechanism for state persistence.
   
   > Since this will introduce such as a fundamental change to the way 
operators were intended, being idempotent, I think it would be great to first 
start an AIP on the topic, so we can have a clear and structured approach.
   
   An AIP sounds reasonable.  I am just a bit skeptical of the notion that this 
is some radical change; I would be shocked if stateful processes were not 
already an extremely common use pattern.  Here the goal would be to provide 
better support for them out of the box.  
   
   Airflow provides great support for a particular kind of "idempotent" task, 
but surely it doesn't say this is the only way we can use it! 
   
   Anyway, I have occasionally rambled on dev list about these issues.  I am 
not sure what the best solution is.  I wish there could be clearer and more 
generalized separation between the concepts of "run date" and "interval of 
interest", but I am not sure what that should look like.  But having a simple 
way to persist state would be of great immediate help to me, and to this PR, 
incidentally.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] OmerJog commented on issue #4751: [AIRFLOW-3607] collected trigger rule dep check per dag run

2019-11-24 Thread GitBox
OmerJog commented on issue #4751: [AIRFLOW-3607] collected trigger rule dep 
check per dag run
URL: https://github.com/apache/airflow/pull/4751#issuecomment-558028258
 
 
   @amichai07 can you please fix error?
   
   ```
   ==
   153) FAIL: test_get_states_count_upstream_ti 
(tests.ti_deps.deps.test_trigger_rule_dep.TestTriggerRuleDep)
   --
  Traceback (most recent call last):
   tests/ti_deps/deps/test_trigger_rule_dep.py line 428 in 
test_get_states_count_upstream_ti
 (1, 0, 1, 0, 2))
  AssertionError: Tuples differ: (1, 0, 1, 1, 2) != (1, 0, 1, 0, 2)
  
  First differing element 3:
  1
  0
  
  - (1, 0, 1, 1, 2)
  ?   ^
  
  + (1, 0, 1, 0, 2)
  ?   ^
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] Fokko commented on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
Fokko commented on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-558015671
 
 
   @dstandish Sorry for the late reply. I think having a second table or 
changing the existing xcom table is just an implementation detail. Having a 
state table will have a fundamental impact on the idempotency of the execution 
of the tasks.
   
   Why would the manual triggering of a dag introduce issues, the execution 
date will be equal to the moment that it was triggered. I think it should work 
as well.
   
   Since this will introduce such as a fundamental change to the way operators 
were intended, being idempotent, I think it would be great to first start an 
AIP on the topic, so we can have a clear an structured approach.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] potiuk commented on issue #6596: [AIRFLOW-6004] Untangle Executors class to avoid cyclic imports. Depends on [AIRFLOW-6010]

2019-11-24 Thread GitBox
potiuk commented on issue #6596: [AIRFLOW-6004] Untangle Executors class to 
avoid cyclic imports. Depends on [AIRFLOW-6010]
URL: https://github.com/apache/airflow/pull/6596#issuecomment-558013576
 
 
   Hey @ashb @kaxil @bolkedebruin @mik-laj -> can you please take a look at 
this one and see if you can start reviewing it. It fixes the seemingly random 
"cyclic dependencies" found by pylint. I am fixing the last failing tests, but 
I think it's worth taking a look even now. 
   
   I not only fixed the cyclic dependencies - by moving executor-related 
classes - but I also made the whole `executors` class pylint and mypy 
compatible. I added all type annotations and happily used variable annotations 
from python 3.6 which made the executor's code actually ... understandable :). 
Executors used a lot of tuples to communicate between different objects and I 
managed to reconstruct the actual types used, I made "aliases" of those types 
and let mypy + pylint actually verify that they are used properly. Along the 
way I found that one of the "queues" in execute_async could be removed as it 
was not used. 
   
   Pls. take a look.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] stale[bot] commented on issue #2460: [AIRFLOW-1424] make the next execution date of DAGs visible

2019-11-24 Thread GitBox
stale[bot] commented on issue #2460: [AIRFLOW-1424] make the next execution 
date of DAGs visible
URL: https://github.com/apache/airflow/pull/2460#issuecomment-558008094
 
 
   This issue has been automatically marked as stale because it has not had 
recent activity. It will be closed if no further activity occurs. Thank you for 
your contributions.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] msumit commented on issue #6653: [AIRFLOW-6054] Add a command that starts the database consoles

2019-11-24 Thread GitBox
msumit commented on issue #6653: [AIRFLOW-6054] Add a command that starts the 
database consoles
URL: https://github.com/apache/airflow/pull/6653#issuecomment-557995877
 
 
   nice addition. lgtm. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify 
the logging configuration template
URL: https://github.com/apache/airflow/pull/6644#discussion_r349981801
 
 

 ##
 File path: airflow/config_templates/airflow_local_settings.py
 ##
 @@ -191,32 +215,6 @@
 'json_format': ELASTICSEARCH_JSON_FORMAT,
 'json_fields': ELASTICSEARCH_JSON_FIELDS
 },
-},
-}
-
-REMOTE_LOGGING = conf.getboolean('core', 'remote_logging')
-
-# Only update the handlers and loggers when CONFIG_PROCESSOR_MANAGER_LOGGER is 
set.
-# This is to avoid exceptions when initializing RotatingFileHandler multiple 
times
-# in multiple processes.
-if os.environ.get('CONFIG_PROCESSOR_MANAGER_LOGGER') == 'True':
-DEFAULT_LOGGING_CONFIG['handlers'] \
-.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'])
-DEFAULT_LOGGING_CONFIG['loggers'] \
-.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['loggers'])
-
-# Manually create log directory for processor_manager handler as 
RotatingFileHandler
-# will only create file but not the directory.
-processor_manager_handler_config = 
DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'][
-'processor_manager']
-directory = os.path.dirname(processor_manager_handler_config['filename'])
-mkdirs(directory, 0o755)
+}
 
-if REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('s3://'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['s3'])
-elif REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('gs://'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['gcs'])
-elif REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('wasb'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['wasb'])
-elif REMOTE_LOGGING and ELASTICSEARCH_HOST:
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['elasticsearch'])
+DEFAULT_LOGGING_CONFIG['handlers'].update(ELASTIC_REMOTE_HANDLERS)
 
 Review comment:
   Do you think it's worthwhile to add a `else:` here? It may help handle cases 
like user enters something wrong when they configure (e.g. user makes a typo in 
REMOTE_BASE_LOG_FOLDER and it starts with something like upper case "S3:" or 
"hs://")


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify 
the logging configuration template
URL: https://github.com/apache/airflow/pull/6644#discussion_r349981433
 
 

 ##
 File path: airflow/config_templates/airflow_local_settings.py
 ##
 @@ -148,26 +128,61 @@
 }
 }
 
-REMOTE_HANDLERS = {
-'s3': {
+# Only update the handlers and loggers when CONFIG_PROCESSOR_MANAGER_LOGGER is 
set.
+# This is to avoid exceptions when initializing RotatingFileHandler multiple 
times
+# in multiple processes.
+if os.environ.get('CONFIG_PROCESSOR_MANAGER_LOGGER') == 'True':
+DEFAULT_LOGGING_CONFIG['handlers'] \
+.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'])
+DEFAULT_LOGGING_CONFIG['loggers'] \
+.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['loggers'])
+
+# Manually create log directory for processor_manager handler as 
RotatingFileHandler
+# will only create file but not the directory.
+processor_manager_handler_config = 
DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'][
+'processor_manager']
+directory = os.path.dirname(processor_manager_handler_config['filename'])
+mkdirs(directory, 0o755)
+
+# Remote logging configuration
+
+# Storage bucket URL for remote logging
+# S3 buckets should start with "s3://"
+# GCS buckets should start with "gs://"
+# WASB buckets should start with "wasb"
+# just to help Airflow select correct handler
+REMOTE_BASE_LOG_FOLDER = conf.get('core', 'REMOTE_BASE_LOG_FOLDER')
+
+ELASTICSEARCH_HOST = conf.get('elasticsearch', 'HOST')
+
+REMOTE_LOGGING = conf.getboolean('core', 'remote_logging')
+
+if REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('s3://'):
+S3_REMOTE_HANDLERS = {
 'task': {
 'class': 'airflow.utils.log.s3_task_handler.S3TaskHandler',
 'formatter': 'airflow',
 
 Review comment:
   `formatter`, `base_log_folder`, and `filename_template` are shared and are 
always the same in different handlers.
   Wonder if it's a good idea to have a `task template` (inside `formatter`, 
`base_log_folder`, and `filename_template` are defined), and create your 
`*_REMOTE_HANDLERS` using this template.
   
   This can avoid duplicated lines, and make potential future updating on 
`formatter`/`base_log_folder`/`filename_template` easier.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify 
the logging configuration template
URL: https://github.com/apache/airflow/pull/6644#discussion_r349981801
 
 

 ##
 File path: airflow/config_templates/airflow_local_settings.py
 ##
 @@ -191,32 +215,6 @@
 'json_format': ELASTICSEARCH_JSON_FORMAT,
 'json_fields': ELASTICSEARCH_JSON_FIELDS
 },
-},
-}
-
-REMOTE_LOGGING = conf.getboolean('core', 'remote_logging')
-
-# Only update the handlers and loggers when CONFIG_PROCESSOR_MANAGER_LOGGER is 
set.
-# This is to avoid exceptions when initializing RotatingFileHandler multiple 
times
-# in multiple processes.
-if os.environ.get('CONFIG_PROCESSOR_MANAGER_LOGGER') == 'True':
-DEFAULT_LOGGING_CONFIG['handlers'] \
-.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'])
-DEFAULT_LOGGING_CONFIG['loggers'] \
-.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['loggers'])
-
-# Manually create log directory for processor_manager handler as 
RotatingFileHandler
-# will only create file but not the directory.
-processor_manager_handler_config = 
DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'][
-'processor_manager']
-directory = os.path.dirname(processor_manager_handler_config['filename'])
-mkdirs(directory, 0o755)
+}
 
-if REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('s3://'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['s3'])
-elif REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('gs://'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['gcs'])
-elif REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('wasb'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['wasb'])
-elif REMOTE_LOGGING and ELASTICSEARCH_HOST:
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['elasticsearch'])
+DEFAULT_LOGGING_CONFIG['handlers'].update(ELASTIC_REMOTE_HANDLERS)
 
 Review comment:
   Do you think it's worthwhile to add a `else:` here? It may help handle cases 
like user enters something wrong when they configure (e.g. user makes a typo in 
REMOTE_BASE_LOG_FOLDER and it starts with something like upper case "S3:" or 
"hs://")


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
XD-DENG commented on a change in pull request #6644: [AIRFLOW-6047] Simplify 
the logging configuration template
URL: https://github.com/apache/airflow/pull/6644#discussion_r349981853
 
 

 ##
 File path: airflow/config_templates/airflow_local_settings.py
 ##
 @@ -191,32 +215,6 @@
 'json_format': ELASTICSEARCH_JSON_FORMAT,
 'json_fields': ELASTICSEARCH_JSON_FIELDS
 },
-},
-}
-
-REMOTE_LOGGING = conf.getboolean('core', 'remote_logging')
-
-# Only update the handlers and loggers when CONFIG_PROCESSOR_MANAGER_LOGGER is 
set.
-# This is to avoid exceptions when initializing RotatingFileHandler multiple 
times
-# in multiple processes.
-if os.environ.get('CONFIG_PROCESSOR_MANAGER_LOGGER') == 'True':
-DEFAULT_LOGGING_CONFIG['handlers'] \
-.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'])
-DEFAULT_LOGGING_CONFIG['loggers'] \
-.update(DEFAULT_DAG_PARSING_LOGGING_CONFIG['loggers'])
-
-# Manually create log directory for processor_manager handler as 
RotatingFileHandler
-# will only create file but not the directory.
-processor_manager_handler_config = 
DEFAULT_DAG_PARSING_LOGGING_CONFIG['handlers'][
-'processor_manager']
-directory = os.path.dirname(processor_manager_handler_config['filename'])
-mkdirs(directory, 0o755)
+}
 
-if REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('s3://'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['s3'])
-elif REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('gs://'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['gcs'])
-elif REMOTE_LOGGING and REMOTE_BASE_LOG_FOLDER.startswith('wasb'):
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['wasb'])
-elif REMOTE_LOGGING and ELASTICSEARCH_HOST:
-DEFAULT_LOGGING_CONFIG['handlers'].update(REMOTE_HANDLERS['elasticsearch'])
+DEFAULT_LOGGING_CONFIG['handlers'].update(ELASTIC_REMOTE_HANDLERS)
 
 Review comment:
   Do you think it's worthwhile to add a `else:` at the end? Inside it we can 
handle cases like user enters something wrong when they configure (e.g. user 
makes a typo in REMOTE_BASE_LOG_FOLDER and it starts with something like upper 
case "S3:" or "hs://")


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] shantanugadgil commented on issue #2708: [AIRFLOW-1746] Add a Nomad operator to trigger job from Airflow

2019-11-24 Thread GitBox
shantanugadgil commented on issue #2708: [AIRFLOW-1746] Add a Nomad operator to 
trigger job from Airflow
URL: https://github.com/apache/airflow/pull/2708#issuecomment-557967329
 
 
   Should we login/signup on the Apache JIRA and then click "Vote for this 
issue"? (I have done that as well). Hope this gets implemented soon! :)


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] shantanugadgil commented on issue #2708: [AIRFLOW-1746] Add a Nomad operator to trigger job from Airflow

2019-11-24 Thread GitBox
shantanugadgil commented on issue #2708: [AIRFLOW-1746] Add a Nomad operator to 
trigger job from Airflow
URL: https://github.com/apache/airflow/pull/2708#issuecomment-557966837
 
 
   I have added "+1" on this issue, though I see the "stale-bot" marking this 
as "stale".
   
   Is this Github issue and JIRA ticket 
(https://issues.apache.org/jira/browse/AIRFLOW-5633) still on the radar? 
:wonder:


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* 
Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349969408
 
 

 ##
 File path: airflow/contrib/operators/neo4j_operator.py
 ##
 @@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from airflow.models import BaseOperator
+from airflow.utils.decorators import apply_defaults
+from airflow.exceptions import AirflowException
+from airflow.contrib.hooks.neo4j_hook import Neo4JHook
+import csv
+
+
+class Neo4JOperator(BaseOperator):
+"""
+Neo4JOperator to interact and perform action on Neo4J graph database.
+This operator is designed to use Neo4J Python driver: 
https://neo4j.com/docs/api/python-driver/current/
+
+:param cypher_query: required cypher query to be executed on the Neo4J 
database
+:type cypher_query: str
+:param output_filename: required filename to produce with output from the 
query
+:type output_filename: str
+:param n4j_conn_id: reference to a pre-defined Neo4J Connection
+:type n4j_conn_id: str
+:param fail_on_no_results: True/False flag to indicate if it should fail 
the task if no results
+:type fail_on_no_results: bool
+"""
+_cypher_query = None
+_output_filename = None
+_n4j_conn_id = None
+_fail_on_no_results = None
+
+@apply_defaults
+def __init__(self,
+ cypher_query,
+ output_filename,
+ n4j_conn_id='n4j_default',
+ fail_on_no_results=False,
+ *args,
+ **kwargs):
+super().__init__(*args, **kwargs)
+
+self._output_filename = output_filename
+self._cypher_query = cypher_query
+self._n4j_conn_id = n4j_conn_id
+self._fail_on_no_results = fail_on_no_results
+
+def execute(self, context):
+hook = Neo4JHook(n4j_conn_id=self._n4j_conn_id)
+if self._cypher_query is not None:
+result = hook.run_query(cypher_query=self._cypher_query)
+else:
+raise AirflowException("cypher_query is missing.")
+
+# In some cases, an empty result should fail (where results are 
expected)
+if result.peek() is None and self._fail_on_no_results:
+raise AirflowException("Query returned no rows")
+
+row_count = self._make_csv(result)
+
+# Provide some feedback to what was done...
+self.log.info("Saved {0} with {1} rows".format(self._output_filename, 
row_count))
+
+# result = 'neo4j.BoltStatementResult' See 
https://neo4j.com/docs/api/python-driver/current/results.html
+self.log.info("Processing output with keys: {}".format(result.keys()))
+
+def _make_csv(self, result):
+total_row_count = 0
+
+# Consider available disk space on the Airflow server, maybe support 
S3 bucket and bring in the S3 Hook
+with open(self._output_filename, 'w', newline='') as output_file:
+output_writer = csv.DictWriter(output_file, 
fieldnames=result.keys())
+output_writer.writeheader()
+
+for total_row_count, row in enumerate(result, start=1):
 
 Review comment:
   Only to provide a counter to how many records were processed. It would be 
good if there was a more efficient way of doing it, but I dont believe the 
BoltStatementResult provides a count for read queries.
   Happy to remove if its of a concern, I just felt like feedback can be useful 
and this was a way of capturing something.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* 
Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349969435
 
 

 ##
 File path: docs/howto/operator/neo4j.rst
 ##
 @@ -0,0 +1,72 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Neo4j Operator
+==
+
+This operator enables Airflow DAGs to execute cypher queries against a Neo4j 
(or ONgDB) graph database.
+
+The results of the query execution will be written to a CSV file on disk. 
Please consider available space
+on the Airflow worker if your query can return a large result.
+
+This operator can be used in conjunction with the S3 operator or email 
operator to process the results.
+
+See the :ref:`Operators Concepts ` documentation and the 
:doc:`Operators API Reference <../../_api/index>` for more information.
+
+Prerequisite Tasks
+^^
+To use this operator you must define a connection to your Neo4J/ONgDB database 
via:
+
+  *Admin* -> *Connections* -> *Create*
+
+The connection must set the following properties:
+
+- login
+- password
+- host
+- port
+
+The connection name is then used in the DAG to reference this definition.
+
+Basic Usage
+^^^
+Use the :class:`~airflow/contrib/operators/neo4j_operator.Neo4JOperator` to 
execute cyhpher query:
+
+.. exampleinclude:: 
../../../airflow/contrib/example_dags/example_neo4j_operator.py
+:language: python
+:dedent: 4
+:start-after: [START howto_operator_dingding]
+:end-before: [END howto_operator_dingding]
 
 Review comment:
   Opps, this should be fixed now.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* 
Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349969134
 
 

 ##
 File path: airflow/contrib/operators/neo4j_operator.py
 ##
 @@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from airflow.models import BaseOperator
+from airflow.utils.decorators import apply_defaults
+from airflow.exceptions import AirflowException
+from airflow.contrib.hooks.neo4j_hook import Neo4JHook
+import csv
+
+
+class Neo4JOperator(BaseOperator):
+"""
+Neo4JOperator to interact and perform action on Neo4J graph database.
+This operator is designed to use Neo4J Python driver: 
https://neo4j.com/docs/api/python-driver/current/
+
+:param cypher_query: required cypher query to be executed on the Neo4J 
database
+:type cypher_query: str
+:param output_filename: required filename to produce with output from the 
query
+:type output_filename: str
+:param n4j_conn_id: reference to a pre-defined Neo4J Connection
+:type n4j_conn_id: str
+:param fail_on_no_results: True/False flag to indicate if it should fail 
the task if no results
+:type fail_on_no_results: bool
+"""
+_cypher_query = None
+_output_filename = None
+_n4j_conn_id = None
+_fail_on_no_results = None
+
+@apply_defaults
+def __init__(self,
+ cypher_query,
+ output_filename,
+ n4j_conn_id='n4j_default',
+ fail_on_no_results=False,
+ *args,
+ **kwargs):
+super().__init__(*args, **kwargs)
+
+self._output_filename = output_filename
+self._cypher_query = cypher_query
+self._n4j_conn_id = n4j_conn_id
+self._fail_on_no_results = fail_on_no_results
+
+def execute(self, context):
+hook = Neo4JHook(n4j_conn_id=self._n4j_conn_id)
+if self._cypher_query is not None:
+result = hook.run_query(cypher_query=self._cypher_query)
+else:
+raise AirflowException("cypher_query is missing.")
 
 Review comment:
   Sure, at one point, I considered making it optional. Queries could be read 
in from files or other sources, but then simplified it to just accept a string. 
Have removed this to reflect how it is designed to operate right now. 
Complexity can be added later if needed.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
tfindlay-tw commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* 
Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349968925
 
 

 ##
 File path: airflow/contrib/hooks/neo4j_hook.py
 ##
 @@ -0,0 +1,93 @@
+# -*- coding: utf-8 -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from airflow.exceptions import AirflowException
+from airflow.hooks.base_hook import BaseHook
+from neo4j import GraphDatabase
+
+
+class Neo4JHook(BaseHook):
+"""
+Interact with Neo4J.
+This class is a thin wrapper around the neo4j python library.
+"""
+_n4j_conn_id = None
+
+def __init__(self, n4j_conn_id='n4j_default', *args, **kwargs):
+super().__init__()
+self._n4j_conn_id = n4j_conn_id
+
+@staticmethod
+def get_config(n4j_conn_id):
+"""
+Obtain the Username + Password from the Airflow connection definition
+Store them in _config dictionary as:
+ credentials = a tuple of username/password eg. ("username", 
"password")
+ host = String for Neo4J URI eg. "bolt://1.1.1.1:7687"
+:return: dictionary with configuration values
+"""
+config = {}
+if n4j_conn_id:
+# Initialize with empty dictionary
+connection_object = Neo4JHook.get_connection(n4j_conn_id)
+if connection_object.login and connection_object.host:
+config['credentials'] = connection_object.login, 
connection_object.password
+config['host'] = 
"bolt://{0}:{1}".format(connection_object.host, connection_object.port)
+else:
+raise AirflowException("No Neo4J connection: 
{}".format(n4j_conn_id))
+
+return config
+
+@staticmethod
+def get_driver(config):
+"""
+Establish a TCP connection to the server
+"""
+# Check if we already have a driver we can re-use before creating a 
new one
+return GraphDatabase.driver(
+uri=config['host'],
+auth=config['credentials']
+)
+
+@staticmethod
+def get_session(driver):
+"""
+Get a neo4j.session from the driver.
+"""
+# Check if we already have a session we can re-use before creating a 
new one
+return driver.session()
+
+def run_query(self, cypher_query, parameters=None):
+"""
+Uses a session to execute submit a query for execution
+:param cypher_query: Cypher query eg. MATCH (a) RETURN (a)
+:param parameters: Optional list of parameters to use with the query
+:return: neo4j.BoltStatementResult see 
https://neo4j.com/docs/api/python-driver/current/results.html
+"""
+a = Neo4JHook.get_config(self._n4j_conn_id)
+b = Neo4JHook.get_driver(a)
+c = Neo4JHook.get_session(b)
 
 Review comment:
   Yes, apologies, I did name them better initially, but during testing I did 
this, they should be fixed up now.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6656: [AIRFLOW-6057] Update template_fields of the PythonSensor

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6656: [AIRFLOW-6057] Update 
template_fields of the PythonSensor
URL: https://github.com/apache/airflow/pull/6656#issuecomment-557940810
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=h1) 
Report
   > Merging 
[#6656](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.33%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6656/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6656  +/-   ##
   ==
   - Coverage   83.82%   83.48%   -0.34% 
   ==
 Files 672  672  
 Lines   3756037560  
   ==
   - Hits3148331357 -126 
   - Misses   6077 6203 +126
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/contrib/sensors/python\_sensor.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL3NlbnNvcnMvcHl0aG9uX3NlbnNvci5weQ==)
 | `100% <100%> (ø)` | :arrow_up: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/jobs/local\_task\_job.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9qb2JzL2xvY2FsX3Rhc2tfam9iLnB5)
 | `85% <0%> (-5%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.33%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=footer). 
Last update 
[db4be19...e5cc54a](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io commented on issue #6656: [AIRFLOW-6057] Update template_fields of the PythonSensor

2019-11-24 Thread GitBox
codecov-io commented on issue #6656: [AIRFLOW-6057] Update template_fields of 
the PythonSensor
URL: https://github.com/apache/airflow/pull/6656#issuecomment-557940810
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=h1) 
Report
   > Merging 
[#6656](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.33%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6656/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6656  +/-   ##
   ==
   - Coverage   83.82%   83.48%   -0.34% 
   ==
 Files 672  672  
 Lines   3756037560  
   ==
   - Hits3148331357 -126 
   - Misses   6077 6203 +126
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/contrib/sensors/python\_sensor.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL3NlbnNvcnMvcHl0aG9uX3NlbnNvci5weQ==)
 | `100% <100%> (ø)` | :arrow_up: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/jobs/local\_task\_job.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9qb2JzL2xvY2FsX3Rhc2tfam9iLnB5)
 | `85% <0%> (-5%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6656/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.33%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=footer). 
Last update 
[db4be19...e5cc54a](https://codecov.io/gh/apache/airflow/pull/6656?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (AIRFLOW-6057) Add op_args and op_kwargs in PythonSensor templated fields

2019-11-24 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/AIRFLOW-6057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16981198#comment-16981198
 ] 

ASF GitHub Bot commented on AIRFLOW-6057:
-

mustafagok commented on pull request #6656: [AIRFLOW-6057] Update 
template_fields of the PythonSensor
URL: https://github.com/apache/airflow/pull/6656
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [x] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-6057
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [x] Here are some details about my PR, including screenshots of any UI 
changes:
   Allow passing Jinja templated arguments to the python_callable of the 
PythonSensor (just like in PythonOperator) by adding op_args and op_kwargs to 
the template_fields of the PythonSensor.
   Also fix the test_python_callable_keyword_arguments_are_templatized test of 
the PythonOperator.
   
   ### Tests
   
   - [x] My PR adds the following unit tests:
 - test_python_callable_arguments_are_templatized for op_args,
 - test_python_callable_keyword_arguments_are_templatized for op_kwargs
   
   ### Commits
   
   - [x] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [x] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Add op_args and op_kwargs in PythonSensor templated fields
> --
>
> Key: AIRFLOW-6057
> URL: https://issues.apache.org/jira/browse/AIRFLOW-6057
> Project: Apache Airflow
>  Issue Type: Improvement
>  Components: contrib, operators
>Affects Versions: 1.10.7
>Reporter: Mustafa Gök
>Assignee: Mustafa Gök
>Priority: Minor
>
> Similar Issue: AIRFLOW-1814
> Let's say we have a method that returns True or False and we want to use it 
> with PythonSensor, but since the method is used in other applications, we 
> don't want to edit this method by adding some XCom pulling code.
> If op_args and op_kwargs are added to the template_fields of the 
> PythonSensor, Jinja template can be used.
>  
> Note: I am not sure about Components and Affects Versions fields of this 
> issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] mustafagok opened a new pull request #6656: [AIRFLOW-6057] Update template_fields of the PythonSensor

2019-11-24 Thread GitBox
mustafagok opened a new pull request #6656: [AIRFLOW-6057] Update 
template_fields of the PythonSensor
URL: https://github.com/apache/airflow/pull/6656
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [x] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-6057
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [x] Here are some details about my PR, including screenshots of any UI 
changes:
   Allow passing Jinja templated arguments to the python_callable of the 
PythonSensor (just like in PythonOperator) by adding op_args and op_kwargs to 
the template_fields of the PythonSensor.
   Also fix the test_python_callable_keyword_arguments_are_templatized test of 
the PythonOperator.
   
   ### Tests
   
   - [x] My PR adds the following unit tests:
 - test_python_callable_arguments_are_templatized for op_args,
 - test_python_callable_keyword_arguments_are_templatized for op_kwargs
   
   ### Commits
   
   - [x] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [x] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] dstandish commented on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator

2019-11-24 Thread GitBox
dstandish commented on issue #6210: [AIRFLOW-5567] BaseReschedulePokeOperator
URL: https://github.com/apache/airflow/pull/6210#issuecomment-557931240
 
 
   So there were concerns with @Fokko's xcom change re idempotency.
   
   I think it makes sense to create second table, very similar to xcom, but 
designed specifically to support stateful tasks.  The table could perhaps be 
called TaskState.  
   This task state should not be pegged to a specific execution date, because 
execution date only really makes sense for non-stateful tasks.  And execution 
date can be out of sequence with actual run time.
   I think it might make sense to make it so we don't do updates: when state 
changes, we insert a new record with the current state.  Primary key would be 
dag id / task id / timestamp.  To get current state, we get the last record for 
the dag / task.  It's possible we could allow state to be namespaced under task 
id with a column `key` like is done with XCom but I don't think it's necessary. 
   
   I previously shared the concern, why create another table that is almost 
identical to xcom.  But the reality is XCom is problematic for stateful tasks 
in a number of ways.  Obviously there is the clearing / idempotency issue. But 
additionally if you use trigger dag, with XCom your next scheduled run won't 
get current state because it sorts by execution_date.
   
   WDYT?
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (AIRFLOW-6057) Add op_args and op_kwargs in PythonSensor templated fields

2019-11-24 Thread Jira
Mustafa Gök created AIRFLOW-6057:


 Summary: Add op_args and op_kwargs in PythonSensor templated fields
 Key: AIRFLOW-6057
 URL: https://issues.apache.org/jira/browse/AIRFLOW-6057
 Project: Apache Airflow
  Issue Type: Improvement
  Components: contrib, operators
Affects Versions: 1.10.7
Reporter: Mustafa Gök
Assignee: Mustafa Gök


Similar Issue: AIRFLOW-1814

Let's say we have a method that returns True or False and we want to use it 
with PythonSensor, but since the method is used in other applications, we don't 
want to edit this method by adding some XCom pulling code.

If op_args and op_kwargs are added to the template_fields of the PythonSensor, 
Jinja template can be used.

 

Note: I am not sure about Components and Affects Versions fields of this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] 
*DRAFT* Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349943669
 
 

 ##
 File path: airflow/contrib/operators/neo4j_operator.py
 ##
 @@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from airflow.models import BaseOperator
+from airflow.utils.decorators import apply_defaults
+from airflow.exceptions import AirflowException
+from airflow.contrib.hooks.neo4j_hook import Neo4JHook
+import csv
+
+
+class Neo4JOperator(BaseOperator):
+"""
+Neo4JOperator to interact and perform action on Neo4J graph database.
+This operator is designed to use Neo4J Python driver: 
https://neo4j.com/docs/api/python-driver/current/
+
+:param cypher_query: required cypher query to be executed on the Neo4J 
database
+:type cypher_query: str
+:param output_filename: required filename to produce with output from the 
query
+:type output_filename: str
+:param n4j_conn_id: reference to a pre-defined Neo4J Connection
+:type n4j_conn_id: str
+:param fail_on_no_results: True/False flag to indicate if it should fail 
the task if no results
+:type fail_on_no_results: bool
+"""
+_cypher_query = None
+_output_filename = None
+_n4j_conn_id = None
+_fail_on_no_results = None
+
+@apply_defaults
+def __init__(self,
+ cypher_query,
+ output_filename,
+ n4j_conn_id='n4j_default',
+ fail_on_no_results=False,
+ *args,
+ **kwargs):
+super().__init__(*args, **kwargs)
+
+self._output_filename = output_filename
+self._cypher_query = cypher_query
+self._n4j_conn_id = n4j_conn_id
+self._fail_on_no_results = fail_on_no_results
+
+def execute(self, context):
+hook = Neo4JHook(n4j_conn_id=self._n4j_conn_id)
+if self._cypher_query is not None:
+result = hook.run_query(cypher_query=self._cypher_query)
+else:
+raise AirflowException("cypher_query is missing.")
 
 Review comment:
   This try / except is unnecessary because `cypher_query` is required in 
constructor. It's also good idea to skip `_`in attributes. I would also suggest 
adding `template_fields` to the operator.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] 
*DRAFT* Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349943764
 
 

 ##
 File path: airflow/contrib/operators/neo4j_operator.py
 ##
 @@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from airflow.models import BaseOperator
+from airflow.utils.decorators import apply_defaults
+from airflow.exceptions import AirflowException
+from airflow.contrib.hooks.neo4j_hook import Neo4JHook
+import csv
+
+
+class Neo4JOperator(BaseOperator):
+"""
+Neo4JOperator to interact and perform action on Neo4J graph database.
+This operator is designed to use Neo4J Python driver: 
https://neo4j.com/docs/api/python-driver/current/
+
+:param cypher_query: required cypher query to be executed on the Neo4J 
database
+:type cypher_query: str
+:param output_filename: required filename to produce with output from the 
query
+:type output_filename: str
+:param n4j_conn_id: reference to a pre-defined Neo4J Connection
+:type n4j_conn_id: str
+:param fail_on_no_results: True/False flag to indicate if it should fail 
the task if no results
+:type fail_on_no_results: bool
+"""
+_cypher_query = None
+_output_filename = None
+_n4j_conn_id = None
+_fail_on_no_results = None
+
+@apply_defaults
+def __init__(self,
+ cypher_query,
+ output_filename,
+ n4j_conn_id='n4j_default',
+ fail_on_no_results=False,
+ *args,
+ **kwargs):
+super().__init__(*args, **kwargs)
+
+self._output_filename = output_filename
+self._cypher_query = cypher_query
+self._n4j_conn_id = n4j_conn_id
+self._fail_on_no_results = fail_on_no_results
+
+def execute(self, context):
+hook = Neo4JHook(n4j_conn_id=self._n4j_conn_id)
+if self._cypher_query is not None:
+result = hook.run_query(cypher_query=self._cypher_query)
+else:
+raise AirflowException("cypher_query is missing.")
+
+# In some cases, an empty result should fail (where results are 
expected)
+if result.peek() is None and self._fail_on_no_results:
+raise AirflowException("Query returned no rows")
+
+row_count = self._make_csv(result)
+
+# Provide some feedback to what was done...
+self.log.info("Saved {0} with {1} rows".format(self._output_filename, 
row_count))
+
+# result = 'neo4j.BoltStatementResult' See 
https://neo4j.com/docs/api/python-driver/current/results.html
+self.log.info("Processing output with keys: {}".format(result.keys()))
+
+def _make_csv(self, result):
+total_row_count = 0
+
+# Consider available disk space on the Airflow server, maybe support 
S3 bucket and bring in the S3 Hook
+with open(self._output_filename, 'w', newline='') as output_file:
+output_writer = csv.DictWriter(output_file, 
fieldnames=result.keys())
+output_writer.writeheader()
+
+for total_row_count, row in enumerate(result, start=1):
 
 Review comment:
   Is there any reason for the enumerate?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] 
*DRAFT* Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349943840
 
 

 ##
 File path: docs/howto/operator/neo4j.rst
 ##
 @@ -0,0 +1,72 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Neo4j Operator
+==
+
+This operator enables Airflow DAGs to execute cypher queries against a Neo4j 
(or ONgDB) graph database.
+
+The results of the query execution will be written to a CSV file on disk. 
Please consider available space
+on the Airflow worker if your query can return a large result.
+
+This operator can be used in conjunction with the S3 operator or email 
operator to process the results.
+
+See the :ref:`Operators Concepts ` documentation and the 
:doc:`Operators API Reference <../../_api/index>` for more information.
+
+Prerequisite Tasks
+^^
+To use this operator you must define a connection to your Neo4J/ONgDB database 
via:
+
+  *Admin* -> *Connections* -> *Create*
+
+The connection must set the following properties:
+
+- login
+- password
+- host
+- port
+
+The connection name is then used in the DAG to reference this definition.
+
+Basic Usage
+^^^
+Use the :class:`~airflow/contrib/operators/neo4j_operator.Neo4JOperator` to 
execute cyhpher query:
+
+.. exampleinclude:: 
../../../airflow/contrib/example_dags/example_neo4j_operator.py
+:language: python
+:dedent: 4
+:start-after: [START howto_operator_dingding]
+:end-before: [END howto_operator_dingding]
 
 Review comment:
   Those start/end will need to be adjusted to build docs.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] *DRAFT* Neo4j operator and hook

2019-11-24 Thread GitBox
nuclearpinguin commented on a change in pull request #6604: [AIRFLOW-5920] 
*DRAFT* Neo4j operator and hook
URL: https://github.com/apache/airflow/pull/6604#discussion_r349943509
 
 

 ##
 File path: airflow/contrib/hooks/neo4j_hook.py
 ##
 @@ -0,0 +1,93 @@
+# -*- coding: utf-8 -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from airflow.exceptions import AirflowException
+from airflow.hooks.base_hook import BaseHook
+from neo4j import GraphDatabase
+
+
+class Neo4JHook(BaseHook):
+"""
+Interact with Neo4J.
+This class is a thin wrapper around the neo4j python library.
+"""
+_n4j_conn_id = None
+
+def __init__(self, n4j_conn_id='n4j_default', *args, **kwargs):
+super().__init__()
+self._n4j_conn_id = n4j_conn_id
+
+@staticmethod
+def get_config(n4j_conn_id):
+"""
+Obtain the Username + Password from the Airflow connection definition
+Store them in _config dictionary as:
+ credentials = a tuple of username/password eg. ("username", 
"password")
+ host = String for Neo4J URI eg. "bolt://1.1.1.1:7687"
+:return: dictionary with configuration values
+"""
+config = {}
+if n4j_conn_id:
+# Initialize with empty dictionary
+connection_object = Neo4JHook.get_connection(n4j_conn_id)
+if connection_object.login and connection_object.host:
+config['credentials'] = connection_object.login, 
connection_object.password
+config['host'] = 
"bolt://{0}:{1}".format(connection_object.host, connection_object.port)
+else:
+raise AirflowException("No Neo4J connection: 
{}".format(n4j_conn_id))
+
+return config
+
+@staticmethod
+def get_driver(config):
+"""
+Establish a TCP connection to the server
+"""
+# Check if we already have a driver we can re-use before creating a 
new one
+return GraphDatabase.driver(
+uri=config['host'],
+auth=config['credentials']
+)
+
+@staticmethod
+def get_session(driver):
+"""
+Get a neo4j.session from the driver.
+"""
+# Check if we already have a session we can re-use before creating a 
new one
+return driver.session()
+
+def run_query(self, cypher_query, parameters=None):
+"""
+Uses a session to execute submit a query for execution
+:param cypher_query: Cypher query eg. MATCH (a) RETURN (a)
+:param parameters: Optional list of parameters to use with the query
+:return: neo4j.BoltStatementResult see 
https://neo4j.com/docs/api/python-driver/current/results.html
+"""
+a = Neo4JHook.get_config(self._n4j_conn_id)
+b = Neo4JHook.get_driver(a)
+c = Neo4JHook.get_session(b)
 
 Review comment:
   Please use more meaningful variables' names.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-XXXX] Add info endpoint to experimental api

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-] Add info 
endpoint to experimental api
URL: https://github.com/apache/airflow/pull/6651#issuecomment-557893722
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=h1) 
Report
   > Merging 
[#6651](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `<.01%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6651/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6651  +/-   ##
   ==
   + Coverage   83.82%   83.82%   +<.01% 
   ==
 Files 672  672  
 Lines   3756037564   +4 
   ==
   + Hits3148331487   +4 
 Misses   6077 6077
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/api/experimental/endpoints.py](https://codecov.io/gh/apache/airflow/pull/6651/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvYXBpL2V4cGVyaW1lbnRhbC9lbmRwb2ludHMucHk=)
 | `88.71% <100%> (+0.23%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=footer). 
Last update 
[db4be19...c7d8811](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-XXXX] Add info endpoint to experimental api

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-] Add info 
endpoint to experimental api
URL: https://github.com/apache/airflow/pull/6651#issuecomment-557893722
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=h1) 
Report
   > Merging 
[#6651](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `<.01%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6651/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6651  +/-   ##
   ==
   + Coverage   83.82%   83.82%   +<.01% 
   ==
 Files 672  672  
 Lines   3756037564   +4 
   ==
   + Hits3148331487   +4 
 Misses   6077 6077
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/api/experimental/endpoints.py](https://codecov.io/gh/apache/airflow/pull/6651/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvYXBpL2V4cGVyaW1lbnRhbC9lbmRwb2ludHMucHk=)
 | `88.71% <100%> (+0.23%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=footer). 
Last update 
[db4be19...c7d8811](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io commented on issue #6654: AIRFLOW-6055: Option for exponential backoff in Sensors

2019-11-24 Thread GitBox
codecov-io commented on issue #6654: AIRFLOW-6055: Option for exponential 
backoff in Sensors
URL: https://github.com/apache/airflow/pull/6654#issuecomment-557917127
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=h1) 
Report
   > Merging 
[#6654](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.32%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6654/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master   #6654  +/-   ##
   =
   - Coverage   83.82%   83.5%   -0.33% 
   =
 Files 672 672  
 Lines   37560   37576  +16 
   =
   - Hits31483   31376 -107 
   - Misses   60776200 +123
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/sensors/base\_sensor\_operator.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9zZW5zb3JzL2Jhc2Vfc2Vuc29yX29wZXJhdG9yLnB5)
 | `98.57% <100%> (+0.42%)` | :arrow_up: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `57.99% <0%> (-0.5%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=footer). 
Last update 
[db4be19...a1eab04](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6654: AIRFLOW-6055: Option for exponential backoff in Sensors

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6654: AIRFLOW-6055: Option for 
exponential backoff in Sensors
URL: https://github.com/apache/airflow/pull/6654#issuecomment-557917127
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=h1) 
Report
   > Merging 
[#6654](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.32%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6654/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master   #6654  +/-   ##
   =
   - Coverage   83.82%   83.5%   -0.33% 
   =
 Files 672 672  
 Lines   37560   37576  +16 
   =
   - Hits31483   31376 -107 
   - Misses   60776200 +123
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/sensors/base\_sensor\_operator.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9zZW5zb3JzL2Jhc2Vfc2Vuc29yX29wZXJhdG9yLnB5)
 | `98.57% <100%> (+0.42%)` | :arrow_up: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6654/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `57.99% <0%> (-0.5%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=footer). 
Last update 
[db4be19...a1eab04](https://codecov.io/gh/apache/airflow/pull/6654?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] stale[bot] commented on issue #2708: [AIRFLOW-1746] Add a Nomad operator to trigger job from Airflow

2019-11-24 Thread GitBox
stale[bot] commented on issue #2708: [AIRFLOW-1746] Add a Nomad operator to 
trigger job from Airflow
URL: https://github.com/apache/airflow/pull/2708#issuecomment-557916122
 
 
   This issue has been automatically marked as stale because it has not had 
recent activity. It will be closed if no further activity occurs. Thank you for 
your contributions.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] aviemzur commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
aviemzur commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to 
accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#issuecomment-557908143
 
 
   R: @kaxil 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#issuecomment-557906816
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=h1) 
Report
   > Merging 
[#6655](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.31%`.
   > The diff coverage is `94.11%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6655/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master   #6655  +/-   ##
   =
   - Coverage   83.82%   83.5%   -0.32% 
   =
 Files 672 672  
 Lines   37560   37575  +15 
   =
   - Hits31483   31377 -106 
   - Misses   60776198 +121
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/contrib/hooks/emr\_hook.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL2hvb2tzL2Vtcl9ob29rLnB5)
 | `96.29% <100%> (+1.85%)` | :arrow_up: |
   | 
[...irflow/contrib/operators/emr\_add\_steps\_operator.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9lbXJfYWRkX3N0ZXBzX29wZXJhdG9yLnB5)
 | `93.1% <87.5%> (-2.55%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=footer). 
Last update 
[db4be19...c946dce](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#issuecomment-557906816
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=h1) 
Report
   > Merging 
[#6655](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.31%`.
   > The diff coverage is `94.11%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6655/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master   #6655  +/-   ##
   =
   - Coverage   83.82%   83.5%   -0.32% 
   =
 Files 672 672  
 Lines   37560   37575  +15 
   =
   - Hits31483   31377 -106 
   - Misses   60776198 +121
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/contrib/hooks/emr\_hook.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL2hvb2tzL2Vtcl9ob29rLnB5)
 | `96.29% <100%> (+1.85%)` | :arrow_up: |
   | 
[...irflow/contrib/operators/emr\_add\_steps\_operator.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9lbXJfYWRkX3N0ZXBzX29wZXJhdG9yLnB5)
 | `93.1% <87.5%> (-2.55%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=footer). 
Last update 
[db4be19...c946dce](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
codecov-io commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator 
to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#issuecomment-557906816
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=h1) 
Report
   > Merging 
[#6655](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.31%`.
   > The diff coverage is `94.11%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6655/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master   #6655  +/-   ##
   =
   - Coverage   83.82%   83.5%   -0.32% 
   =
 Files 672 672  
 Lines   37560   37575  +15 
   =
   - Hits31483   31377 -106 
   - Misses   60776198 +121
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/contrib/hooks/emr\_hook.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL2hvb2tzL2Vtcl9ob29rLnB5)
 | `96.29% <100%> (+1.85%)` | :arrow_up: |
   | 
[...irflow/contrib/operators/emr\_add\_steps\_operator.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9lbXJfYWRkX3N0ZXBzX29wZXJhdG9yLnB5)
 | `93.1% <87.5%> (-2.55%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6655/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `89.13% <0%> (-3.63%)` | :arrow_down: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=footer). 
Last update 
[db4be19...c946dce](https://codecov.io/gh/apache/airflow/pull/6655?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (AIRFLOW-6056) Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/AIRFLOW-6056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16981120#comment-16981120
 ] 

ASF GitHub Bot commented on AIRFLOW-6056:
-

aviemzur commented on pull request #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [x] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-XXX
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [x] Here are some details about my PR, including screenshots of any UI 
changes:
   Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
job_flow_id
   This is useful for when you have a persistent EMR cluster for testing or for 
when you have repeated scheduled jobs with a small interval between them.
   
   ### Tests
   
   - [x] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [x] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [x] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
> job_flow_id
> ---
>
> Key: AIRFLOW-6056
> URL: https://issues.apache.org/jira/browse/AIRFLOW-6056
> Project: Apache Airflow
>  Issue Type: New Feature
>  Components: contrib
>Affects Versions: 1.10.6
>Reporter: Aviem Zur
>Assignee: Aviem Zur
>Priority: Major
>
> Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
> job_flow_id
> This is useful for when you have a persistent EMR cluster for testing or for 
> when you have repeated scheduled jobs with a small interval between them.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AIRFLOW-6056) Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/AIRFLOW-6056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16981119#comment-16981119
 ] 

ASF GitHub Bot commented on AIRFLOW-6056:
-

aviemzur commented on pull request #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
> job_flow_id
> ---
>
> Key: AIRFLOW-6056
> URL: https://issues.apache.org/jira/browse/AIRFLOW-6056
> Project: Apache Airflow
>  Issue Type: New Feature
>  Components: contrib
>Affects Versions: 1.10.6
>Reporter: Aviem Zur
>Assignee: Aviem Zur
>Priority: Major
>
> Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
> job_flow_id
> This is useful for when you have a persistent EMR cluster for testing or for 
> when you have repeated scheduled jobs with a small interval between them.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] aviemzur closed pull request #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
aviemzur closed pull request #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to 
accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] aviemzur opened a new pull request #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
aviemzur opened a new pull request #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [x] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-XXX
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [x] Here are some details about my PR, including screenshots of any UI 
changes:
   Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
job_flow_id
   This is useful for when you have a persistent EMR cluster for testing or for 
when you have repeated scheduled jobs with a small interval between them.
   
   ### Tests
   
   - [x] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [x] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [x] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] potiuk commented on issue #6564: [AIRFLOW-5911] Simplify lineage API and improve robustness

2019-11-24 Thread GitBox
potiuk commented on issue #6564: [AIRFLOW-5911] Simplify lineage API and 
improve robustness
URL: https://github.com/apache/airflow/pull/6564#issuecomment-557900655
 
 
   FYI @bolkedebruin -> I am working on permanent fix to the seemingly randomly 
appearing cyclic imports. They are real cycles of dependencies we have, but 
they are somewhat hidden until you have pylint run on all code (and the more 
pylint we enable the more of those cycles we will find I think).
   
   I hope to heave a fix that gets rid of all those (known so far) cyclic 
dependencies that are hiding in our code. 
   
   First step (remove cycles from serialization) is here: #6601 (already passed 
Travis) and second (remove cycles from executors) here (#6596) - coming soon 
@ashb @kaxil -> this is exactly the case I was explaining, the cycles are 
appearing randomly in some travis builds because of sequence/subsets of files 
passed to pylint processes. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] amichai07 commented on a change in pull request #4751: [AIRFLOW-3607] collected trigger rule dep check per dag run

2019-11-24 Thread GitBox
amichai07 commented on a change in pull request #4751: [AIRFLOW-3607] collected 
trigger rule dep check per dag run
URL: https://github.com/apache/airflow/pull/4751#discussion_r349927589
 
 

 ##
 File path: airflow/jobs/scheduler_job.py
 ##
 @@ -721,25 +721,14 @@ def _process_task_instances(self, dag, 
task_instances_list, session=None):
 if run.state == State.RUNNING:
 make_transient(run)
 active_dag_runs.append(run)
-
-for run in active_dag_runs:
-self.log.debug("Examining active DAG run: %s", run)
-tis = run.get_task_instances(state=SCHEDULEABLE_STATES)
-
-# this loop is quite slow as it uses are_dependencies_met for
-# every task (in ti.is_runnable). This is also called in
-# update_state above which has already checked these tasks
-for ti in tis:
-task = dag.get_task(ti.task_id)
-
-# fixme: ti.task is transient but needs to be set
-ti.task = task
-
-if ti.are_dependencies_met(
-dep_context=DepContext(flag_upstream_failed=True),
-session=session):
+self.log.debug("Examining active DAG run: %s", run)
+for ti in run.ready_tis:
 
 Review comment:
   yes :)
   However just few tests use it for the state and it is kind of an easy change


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-XXXX] Add info endpoint to experimental api

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-] Add info 
endpoint to experimental api
URL: https://github.com/apache/airflow/pull/6651#issuecomment-557893722
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=h1) 
Report
   > Merging 
[#6651](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `<.01%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6651/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6651  +/-   ##
   ==
   + Coverage   83.82%   83.82%   +<.01% 
   ==
 Files 672  672  
 Lines   3756037564   +4 
   ==
   + Hits3148331487   +4 
 Misses   6077 6077
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/api/experimental/endpoints.py](https://codecov.io/gh/apache/airflow/pull/6651/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvYXBpL2V4cGVyaW1lbnRhbC9lbmRwb2ludHMucHk=)
 | `88.71% <100%> (+0.23%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=footer). 
Last update 
[db4be19...ce2e499](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-XXXX] Add info endpoint to experimental api

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6651: [WIP][AIRFLOW-] Add info 
endpoint to experimental api
URL: https://github.com/apache/airflow/pull/6651#issuecomment-557893722
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=h1) 
Report
   > Merging 
[#6651](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `<.01%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6651/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6651  +/-   ##
   ==
   + Coverage   83.82%   83.82%   +<.01% 
   ==
 Files 672  672  
 Lines   3756037564   +4 
   ==
   + Hits3148331487   +4 
 Misses   6077 6077
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/api/experimental/endpoints.py](https://codecov.io/gh/apache/airflow/pull/6651/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvYXBpL2V4cGVyaW1lbnRhbC9lbmRwb2ludHMucHk=)
 | `88.71% <100%> (+0.23%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=footer). 
Last update 
[db4be19...ce2e499](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io commented on issue #6651: [WIP][AIRFLOW-XXXX] Add info endpoint to experimental api

2019-11-24 Thread GitBox
codecov-io commented on issue #6651: [WIP][AIRFLOW-] Add info endpoint to 
experimental api
URL: https://github.com/apache/airflow/pull/6651#issuecomment-557893722
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=h1) 
Report
   > Merging 
[#6651](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `<.01%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6651/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6651  +/-   ##
   ==
   + Coverage   83.82%   83.82%   +<.01% 
   ==
 Files 672  672  
 Lines   3756037564   +4 
   ==
   + Hits3148331487   +4 
 Misses   6077 6077
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/api/experimental/endpoints.py](https://codecov.io/gh/apache/airflow/pull/6651/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvYXBpL2V4cGVyaW1lbnRhbC9lbmRwb2ludHMucHk=)
 | `88.71% <100%> (+0.23%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=footer). 
Last update 
[db4be19...ce2e499](https://codecov.io/gh/apache/airflow/pull/6651?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] aviemzur commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
aviemzur commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to 
accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#issuecomment-557892259
 
 
   > @aviemzur can you fix error?
   > `airflow/contrib/hooks/emr_hook.py:48:111: E501 line too long (115 > 110 
characters) `
   
   Yup, just pushed a fix


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] OmerJog commented on issue #6652: [AIRFLOW-5548] [AIRFLOW-5550] REST API enhancement - dag info, task …

2019-11-24 Thread GitBox
OmerJog commented on issue #6652: [AIRFLOW-5548] [AIRFLOW-5550] REST API 
enhancement - dag info, task …
URL: https://github.com/apache/airflow/pull/6652#issuecomment-557891069
 
 
   @msb217  can you fix style errors?
   ```
   
   airflow/www/api/experimental/endpoints.py:177:1: E302 expected 2 blank 
lines, found 1
   airflow/api/common/experimental/get_task.py:33:1: E302 expected 2 blank 
lines, found 1
   airflow/api/common/experimental/get_task.py:33:46: E231 missing whitespace 
after ':'
   airflow/api/common/experimental/__init__.py:49:1: E302 expected 2 blank 
lines, found 1
   
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] OmerJog commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread GitBox
OmerJog commented on issue #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to 
accept job_flow_name as alternative to job_flow_id
URL: https://github.com/apache/airflow/pull/6655#issuecomment-557890912
 
 
   @aviemzur can you fix error?
   `airflow/contrib/hooks/emr_hook.py:48:111: E501 line too long (115 > 110 
characters)
   `


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] bolkedebruin commented on issue #6564: [AIRFLOW-5911] Simplify lineage API and improve robustness

2019-11-24 Thread GitBox
bolkedebruin commented on issue #6564: [AIRFLOW-5911] Simplify lineage API and 
improve robustness
URL: https://github.com/apache/airflow/pull/6564#issuecomment-557890511
 
 
   Build errors (pylint) seem unrelated. See 
https://travis-ci.org/bolkedebruin/airflow/builds/616252609 for one that passed


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] bolkedebruin commented on issue #6564: [AIRFLOW-5911] Simplify lineage API and improve robustness

2019-11-24 Thread GitBox
bolkedebruin commented on issue #6564: [AIRFLOW-5911] Simplify lineage API and 
improve robustness
URL: https://github.com/apache/airflow/pull/6564#issuecomment-557884955
 
 
   @ashb @kaxil should be ready for review. Note that I will improve the docs 
when I have done the sub-sequent PRs


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (AIRFLOW-6056) Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/AIRFLOW-6056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16981058#comment-16981058
 ] 

ASF GitHub Bot commented on AIRFLOW-6056:
-

aviemzur commented on pull request #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as a…
URL: https://github.com/apache/airflow/pull/6655
 
 
   …lternative to job_flow_id
   
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-XXX
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   
   ### Tests
   
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
> job_flow_id
> ---
>
> Key: AIRFLOW-6056
> URL: https://issues.apache.org/jira/browse/AIRFLOW-6056
> Project: Apache Airflow
>  Issue Type: New Feature
>  Components: contrib
>Affects Versions: 1.10.6
>Reporter: Aviem Zur
>Assignee: Aviem Zur
>Priority: Major
>
> Allow EmrAddStepsOperator to accept job_flow_name as alternative to 
> job_flow_id
> This is useful for when you have a persistent EMR cluster for testing or for 
> when you have repeated scheduled jobs with a small interval between them.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] aviemzur opened a new pull request #6655: [AIRFLOW-6056] Allow EmrAddStepsOperator to accept job_flow_name as a…

2019-11-24 Thread GitBox
aviemzur opened a new pull request #6655: [AIRFLOW-6056] Allow 
EmrAddStepsOperator to accept job_flow_name as a…
URL: https://github.com/apache/airflow/pull/6655
 
 
   …lternative to job_flow_id
   
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-XXX
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   
   ### Tests
   
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6635: [AIRFLOW-6033] Fix UI Crash at "Landing Times" when change task_id wi…

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6635: [AIRFLOW-6033] Fix UI Crash at 
"Landing Times" when change task_id wi…
URL: https://github.com/apache/airflow/pull/6635#issuecomment-557815829
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6635?src=pr=h1) 
Report
   > :exclamation: No coverage uploaded for pull request base 
(`master@b401409`). [Click here to learn what that 
means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6635/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6635?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ## master#6635   +/-   ##
   =
 Coverage  ?   83.82%   
   =
 Files ?  672   
 Lines ?37561   
 Branches  ?0   
   =
 Hits  ?31484   
 Misses? 6077   
 Partials  ?0
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6635?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/views.py](https://codecov.io/gh/apache/airflow/pull/6635/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvdmlld3MucHk=)
 | `76.6% <100%> (ø)` | |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6635?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6635?src=pr=footer). 
Last update 
[b401409...29f2568](https://codecov.io/gh/apache/airflow/pull/6635?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (AIRFLOW-6056) Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

2019-11-24 Thread Aviem Zur (Jira)
Aviem Zur created AIRFLOW-6056:
--

 Summary: Allow EmrAddStepsOperator to accept job_flow_name as 
alternative to job_flow_id
 Key: AIRFLOW-6056
 URL: https://issues.apache.org/jira/browse/AIRFLOW-6056
 Project: Apache Airflow
  Issue Type: New Feature
  Components: contrib
Affects Versions: 1.10.6
Reporter: Aviem Zur
Assignee: Aviem Zur


Allow EmrAddStepsOperator to accept job_flow_name as alternative to job_flow_id

This is useful for when you have a persistent EMR cluster for testing or for 
when you have repeated scheduled jobs with a small interval between them.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] drexpp commented on issue #6635: [AIRFLOW-6033] Fix UI Crash at "Landing Times" when change task_id wi…

2019-11-24 Thread GitBox
drexpp commented on issue #6635: [AIRFLOW-6033] Fix UI Crash at "Landing Times" 
when change task_id wi…
URL: https://github.com/apache/airflow/pull/6635#issuecomment-557879705
 
 
   > > The given error is quite weird
   > > ```
   > > 44) FAIL: test_heartbeat_failed_fast 
(tests.jobs.test_local_task_job.TestLocalTaskJob)
   > > 
   > >Traceback (most recent call last):
   > > /usr/local/lib/python3.7/unittest/mock.py line 1255 in patched
   > >   return func(*args, **keywargs)
   > > tests/jobs/test_local_task_job.py line 161 in 
test_heartbeat_failed_fast
   > >   self.assertGreaterEqual((time2 - time1).total_seconds(), 
job.heartrate)
   > >AssertionError: 1.997115 not greater than or equal to 2
   > > ```
   > > 
   > > 
   > > And I think it might not be related to my pull request.
   > 
   > It is just a transient error. I have restarted the test, should fix it.
   
   Thanks for restarting it @kaxil it seems like everything went fine, thanks 
for your time.
   
   Then I will do the PR against the README.md thanks for the reference.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (AIRFLOW-6055) Exponential Backoff in Sensors

2019-11-24 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/AIRFLOW-6055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16981037#comment-16981037
 ] 

ASF GitHub Bot commented on AIRFLOW-6055:
-

msumit commented on pull request #6654: AIRFLOW-6055: Option for exponential 
backoff in Sensors
URL: https://github.com/apache/airflow/pull/6654
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issue 
https://issues.apache.org/jira/browse/AIRFLOW-6055
   
   ### Description
   
   - [ ] Adding an option in sensors to do exponential backoff before poke or 
schedule again.
   
   ### Tests
   
   - [ ] Added a couple of unit tests around the new function
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Exponential Backoff in Sensors
> --
>
> Key: AIRFLOW-6055
> URL: https://issues.apache.org/jira/browse/AIRFLOW-6055
> Project: Apache Airflow
>  Issue Type: New Feature
>  Components: operators
>Affects Versions: 2.0.0
>Reporter: Sumit Maheshwari
>Assignee: Sumit Maheshwari
>Priority: Major
>
> Like operators, there should be an option in Sensors as well to do 
> exponential backoff. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] msumit opened a new pull request #6654: AIRFLOW-6055: Option for exponential backoff in Sensors

2019-11-24 Thread GitBox
msumit opened a new pull request #6654: AIRFLOW-6055: Option for exponential 
backoff in Sensors
URL: https://github.com/apache/airflow/pull/6654
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issue 
https://issues.apache.org/jira/browse/AIRFLOW-6055
   
   ### Description
   
   - [ ] Adding an option in sensors to do exponential backoff before poke or 
schedule again.
   
   ### Tests
   
   - [ ] Added a couple of unit tests around the new function
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (AIRFLOW-6055) Exponential Backoff in Sensors

2019-11-24 Thread Sumit Maheshwari (Jira)
Sumit Maheshwari created AIRFLOW-6055:
-

 Summary: Exponential Backoff in Sensors
 Key: AIRFLOW-6055
 URL: https://issues.apache.org/jira/browse/AIRFLOW-6055
 Project: Apache Airflow
  Issue Type: New Feature
  Components: operators
Affects Versions: 2.0.0
Reporter: Sumit Maheshwari
Assignee: Sumit Maheshwari


Like operators, there should be an option in Sensors as well to do exponential 
backoff. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] OmerJog commented on issue #5458: [AIRFLOW-4495] allow externally triggered dags to run for future 'Exe…

2019-11-24 Thread GitBox
OmerJog commented on issue #5458: [AIRFLOW-4495] allow externally triggered 
dags to run for future 'Exe…
URL: https://github.com/apache/airflow/pull/5458#issuecomment-557874004
 
 
   @tooptoop4 one of the tests timeouted. no worries it doesn't meant anything.
   Just wait for review from one of the committers 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6650: [AIRFLOW-6051] Make DAG optional during displaying the log

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6650: [AIRFLOW-6051] Make DAG optional 
during displaying the log
URL: https://github.com/apache/airflow/pull/6650#issuecomment-557848169
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=h1) 
Report
   > Merging 
[#6650](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/3ac5270550eb0453c5e3f9477ad607f79828bc78?src=pr=desc)
 will **increase** coverage by `0.03%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6650/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6650  +/-   ##
   ==
   + Coverage   83.78%   83.81%   +0.03% 
   ==
 Files 672  672  
 Lines   3756737561   -6 
   ==
   + Hits3147631483   +7 
   + Misses   6091 6078  -13
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/views.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvdmlld3MucHk=)
 | `76.6% <100%> (+0.01%)` | :arrow_up: |
   | 
[airflow/cli/commands/worker\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvd29ya2VyX2NvbW1hbmQucHk=)
 | `38.09% <0%> (-1.44%)` | :arrow_down: |
   | 
[airflow/cli/commands/pool\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvcG9vbF9jb21tYW5kLnB5)
 | `89.06% <0%> (-1.08%)` | :arrow_down: |
   | 
[airflow/cli/commands/task\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvdGFza19jb21tYW5kLnB5)
 | `62.01% <0%> (-0.3%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.17%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `98.71% <0%> (+0.1%)` | :arrow_up: |
   | 
[airflow/models/dagbag.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvZGFnYmFnLnB5)
 | `87.29% <0%> (+0.4%)` | :arrow_up: |
   | 
[airflow/cli/commands/dag\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvZGFnX2NvbW1hbmQucHk=)
 | `81.11% <0%> (+0.84%)` | :arrow_up: |
   | 
[airflow/jobs/local\_task\_job.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9qb2JzL2xvY2FsX3Rhc2tfam9iLnB5)
 | `90% <0%> (+3.75%)` | :arrow_up: |
   | 
[airflow/kubernetes/pod\_runtime\_info\_env.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9ydW50aW1lX2luZm9fZW52LnB5)
 | `50% <0%> (+50%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=footer). 
Last update 
[3ac5270...35969fe](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6650: [AIRFLOW-6051] Make DAG optional during displaying the log

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6650: [AIRFLOW-6051] Make DAG optional 
during displaying the log
URL: https://github.com/apache/airflow/pull/6650#issuecomment-557848169
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=h1) 
Report
   > Merging 
[#6650](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/3ac5270550eb0453c5e3f9477ad607f79828bc78?src=pr=desc)
 will **increase** coverage by `0.03%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6650/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6650  +/-   ##
   ==
   + Coverage   83.78%   83.81%   +0.03% 
   ==
 Files 672  672  
 Lines   3756737561   -6 
   ==
   + Hits3147631483   +7 
   + Misses   6091 6078  -13
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/views.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvdmlld3MucHk=)
 | `76.6% <100%> (+0.01%)` | :arrow_up: |
   | 
[airflow/cli/commands/worker\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvd29ya2VyX2NvbW1hbmQucHk=)
 | `38.09% <0%> (-1.44%)` | :arrow_down: |
   | 
[airflow/cli/commands/pool\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvcG9vbF9jb21tYW5kLnB5)
 | `89.06% <0%> (-1.08%)` | :arrow_down: |
   | 
[airflow/cli/commands/task\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvdGFza19jb21tYW5kLnB5)
 | `62.01% <0%> (-0.3%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.17%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `98.71% <0%> (+0.1%)` | :arrow_up: |
   | 
[airflow/models/dagbag.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvZGFnYmFnLnB5)
 | `87.29% <0%> (+0.4%)` | :arrow_up: |
   | 
[airflow/cli/commands/dag\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvZGFnX2NvbW1hbmQucHk=)
 | `81.11% <0%> (+0.84%)` | :arrow_up: |
   | 
[airflow/jobs/local\_task\_job.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9qb2JzL2xvY2FsX3Rhc2tfam9iLnB5)
 | `90% <0%> (+3.75%)` | :arrow_up: |
   | 
[airflow/kubernetes/pod\_runtime\_info\_env.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9ydW50aW1lX2luZm9fZW52LnB5)
 | `50% <0%> (+50%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=footer). 
Last update 
[3ac5270...35969fe](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6650: [AIRFLOW-6051] Make DAG optional during displaying the log

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6650: [AIRFLOW-6051] Make DAG optional 
during displaying the log
URL: https://github.com/apache/airflow/pull/6650#issuecomment-557848169
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=h1) 
Report
   > Merging 
[#6650](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/3ac5270550eb0453c5e3f9477ad607f79828bc78?src=pr=desc)
 will **increase** coverage by `0.03%`.
   > The diff coverage is `100%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6650/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6650  +/-   ##
   ==
   + Coverage   83.78%   83.81%   +0.03% 
   ==
 Files 672  672  
 Lines   3756737561   -6 
   ==
   + Hits3147631483   +7 
   + Misses   6091 6078  -13
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/www/views.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvdmlld3MucHk=)
 | `76.6% <100%> (+0.01%)` | :arrow_up: |
   | 
[airflow/cli/commands/worker\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvd29ya2VyX2NvbW1hbmQucHk=)
 | `38.09% <0%> (-1.44%)` | :arrow_down: |
   | 
[airflow/cli/commands/pool\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvcG9vbF9jb21tYW5kLnB5)
 | `89.06% <0%> (-1.08%)` | :arrow_down: |
   | 
[airflow/cli/commands/task\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvdGFza19jb21tYW5kLnB5)
 | `62.01% <0%> (-0.3%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.17%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `98.71% <0%> (+0.1%)` | :arrow_up: |
   | 
[airflow/models/dagbag.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvZGFnYmFnLnB5)
 | `87.29% <0%> (+0.4%)` | :arrow_up: |
   | 
[airflow/cli/commands/dag\_command.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvZGFnX2NvbW1hbmQucHk=)
 | `81.11% <0%> (+0.84%)` | :arrow_up: |
   | 
[airflow/jobs/local\_task\_job.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9qb2JzL2xvY2FsX3Rhc2tfam9iLnB5)
 | `90% <0%> (+3.75%)` | :arrow_up: |
   | 
[airflow/kubernetes/pod\_runtime\_info\_env.py](https://codecov.io/gh/apache/airflow/pull/6650/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9ydW50aW1lX2luZm9fZW52LnB5)
 | `50% <0%> (+50%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=footer). 
Last update 
[3ac5270...35969fe](https://codecov.io/gh/apache/airflow/pull/6650?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io commented on issue #6653: [AIRFLOW-6054] Add a command that starts the database consoles

2019-11-24 Thread GitBox
codecov-io commented on issue #6653: [AIRFLOW-6054] Add a command that starts 
the database consoles
URL: https://github.com/apache/airflow/pull/6653#issuecomment-557870434
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=h1) 
Report
   > Merging 
[#6653](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **decrease** coverage by `0.41%`.
   > The diff coverage is `96%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6653/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6653  +/-   ##
   ==
   - Coverage   83.82%   83.41%   -0.42% 
   ==
 Files 672  672  
 Lines   3756037584  +24 
   ==
   - Hits3148331349 -134 
   - Misses   6077 6235 +158
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/bin/cli.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9iaW4vY2xpLnB5)
 | `92.64% <ø> (ø)` | :arrow_up: |
   | 
[airflow/cli/commands/db\_command.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9jbGkvY29tbWFuZHMvZGJfY29tbWFuZC5weQ==)
 | `94.87% <96%> (+14.87%)` | :arrow_up: |
   | 
[airflow/kubernetes/volume\_mount.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZV9tb3VudC5weQ==)
 | `44.44% <0%> (-55.56%)` | :arrow_down: |
   | 
[airflow/executors/sequential\_executor.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9leGVjdXRvcnMvc2VxdWVudGlhbF9leGVjdXRvci5weQ==)
 | `47.61% <0%> (-52.39%)` | :arrow_down: |
   | 
[airflow/kubernetes/volume.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3ZvbHVtZS5weQ==)
 | `52.94% <0%> (-47.06%)` | :arrow_down: |
   | 
[airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==)
 | `45.25% <0%> (-46.72%)` | :arrow_down: |
   | 
[airflow/kubernetes/refresh\_config.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3JlZnJlc2hfY29uZmlnLnB5)
 | `50.98% <0%> (-23.53%)` | :arrow_down: |
   | 
[...rflow/contrib/operators/kubernetes\_pod\_operator.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9jb250cmliL29wZXJhdG9ycy9rdWJlcm5ldGVzX3BvZF9vcGVyYXRvci5weQ==)
 | `78.2% <0%> (-20.52%)` | :arrow_down: |
   | 
[airflow/utils/sqlalchemy.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9zcWxhbGNoZW15LnB5)
 | `86.44% <0%> (-6.78%)` | :arrow_down: |
   | 
[airflow/executors/\_\_init\_\_.py](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree#diff-YWlyZmxvdy9leGVjdXRvcnMvX19pbml0X18ucHk=)
 | `63.26% <0%> (-4.09%)` | :arrow_down: |
   | ... and [3 
more](https://codecov.io/gh/apache/airflow/pull/6653/diff?src=pr=tree-more) 
| |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=footer). 
Last update 
[db4be19...63dc850](https://codecov.io/gh/apache/airflow/pull/6653?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj edited a comment on issue #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
mik-laj edited a comment on issue #6644: [AIRFLOW-6047] Simplify the logging 
configuration template
URL: https://github.com/apache/airflow/pull/6644#issuecomment-557869288
 
 
   I would dream that the whole configuration was expressed as Python code. 
   Then in the HOME directory we would have settings.py with the following 
content:
   ```
   from airflow.settings import *
   ```
   And the airflow.settings file would contain default value definitions that 
could be overwritten in settings.py.
   ```
   ENABLE_AWESOME_FEATURE = True
   ```
   This would allow much greater freedom and create more complex objects, e.g. 
dictionaries. 
   
   This is how Django is configured.
   https://docs.djangoproject.com/en/2.2/topics/settings/
   https://github.com/joke2k/django-environ
   
   But all in all, if we delete the import from the first code and transfer it 
to the core, we will have your idea. so i agree. We can move this configuration 
file to the core and introduce another way to overwrite the settings.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj edited a comment on issue #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
mik-laj edited a comment on issue #6644: [AIRFLOW-6047] Simplify the logging 
configuration template
URL: https://github.com/apache/airflow/pull/6644#issuecomment-557869288
 
 
   I would dream that the whole configuration was expressed as Python code. 
   Then in the HOME directory we would have settings.py with the following 
content:
   ```
   from airflow.settings import *
   ```
   And the airflow.settings file would contain default value definitions that 
could be overwritten in settings.py.
   ```
   ENABLE_AWESOME_FEATURE = True
   ```
   This would allow much greater freedom and create more complex objects, e.g. 
dictionaries. 
   
   This is how Django is configured.
   https://docs.djangoproject.com/en/2.2/topics/settings/
   https://github.com/joke2k/django-environ
   
   But all in all, if we delete the import from the first code and transfer it 
to the core, we will have your idea.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj commented on issue #6644: [AIRFLOW-6047] Simplify the logging configuration template

2019-11-24 Thread GitBox
mik-laj commented on issue #6644: [AIRFLOW-6047] Simplify the logging 
configuration template
URL: https://github.com/apache/airflow/pull/6644#issuecomment-557869288
 
 
   I would dream that the whole configuration was expressed as Python code. 
   Then in the HOME directory we would have settings.py with the following 
content:
   ```
   from airflow.settings import *
   ```
   And the airflow.settings file would contain default value definitions that 
could be overwritten in settings.py.
   ```
   ENABLE_AWESOME_FEATURE = True
   ```
   This would allow much greater freedom and create more complex objects, e.g. 
dictionaries. 
   
   This is how Django is configured.
   https://docs.djangoproject.com/en/2.2/topics/settings/
   https://github.com/joke2k/django-environ


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] nuclearpinguin closed pull request #6626: Test commit

2019-11-24 Thread GitBox
nuclearpinguin closed pull request #6626: Test commit
URL: https://github.com/apache/airflow/pull/6626
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (AIRFLOW-6054) Add a command that starts the database consoles

2019-11-24 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/AIRFLOW-6054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16980997#comment-16980997
 ] 

ASF GitHub Bot commented on AIRFLOW-6054:
-

mik-laj commented on pull request #6653: [AIRFLOW-6054] Add a command that 
starts the database consoles
URL: https://github.com/apache/airflow/pull/6653
 
 
   @potiuk  This will be a very nice improvement for development environment 
including Breeze.
   
   ---
   
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-6054
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   
   ### Tests
   
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Add a command that starts the database consoles
> ---
>
> Key: AIRFLOW-6054
> URL: https://issues.apache.org/jira/browse/AIRFLOW-6054
> Project: Apache Airflow
>  Issue Type: Bug
>  Components: cli
>Affects Versions: 1.10.6
>Reporter: Kamil Bregula
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] mik-laj opened a new pull request #6653: [AIRFLOW-6054] Add a command that starts the database consoles

2019-11-24 Thread GitBox
mik-laj opened a new pull request #6653: [AIRFLOW-6054] Add a command that 
starts the database consoles
URL: https://github.com/apache/airflow/pull/6653
 
 
   @potiuk  This will be a very nice improvement for development environment 
including Breeze.
   
   ---
   
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
 - https://issues.apache.org/jira/browse/AIRFLOW-6054
 - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
 - In case you are proposing a fundamental code change, you need to create 
an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)).
 - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   
   ### Tests
   
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
 1. Subject is separated from body by a blank line
 1. Subject is limited to 50 characters (not including Jira issue reference)
 1. Subject does not end with a period
 1. Subject uses the imperative mood ("add", not "adding")
 1. Body wraps at 72 characters
 1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
 - All the public functions and the classes in the PR contain docstrings 
that explain what it does
 - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (AIRFLOW-6054) Add a command that starts the database consoles

2019-11-24 Thread Kamil Bregula (Jira)
Kamil Bregula created AIRFLOW-6054:
--

 Summary: Add a command that starts the database consoles
 Key: AIRFLOW-6054
 URL: https://issues.apache.org/jira/browse/AIRFLOW-6054
 Project: Apache Airflow
  Issue Type: Bug
  Components: cli
Affects Versions: 1.10.6
Reporter: Kamil Bregula






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [airflow] codecov-io edited a comment on issue #6601: [AIRFLOW-6010] Remove cyclic imports and pylint disables

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6601: [AIRFLOW-6010] Remove cyclic 
imports and pylint disables
URL: https://github.com/apache/airflow/pull/6601#issuecomment-557836097
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=h1) 
Report
   > Merging 
[#6601](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `0.01%`.
   > The diff coverage is `96.68%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6601/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6601  +/-   ##
   ==
   + Coverage   83.82%   83.83%   +0.01% 
   ==
 Files 672  671   -1 
 Lines   3756037574  +14 
   ==
   + Hits3148331500  +17 
   + Misses   6077 6074   -3
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/settings.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9zZXR0aW5ncy5weQ==)
 | `88.81% <ø> (-0.16%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.33%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `92.75% <100%> (ø)` | :arrow_up: |
   | 
[airflow/models/baseoperator.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvYmFzZW9wZXJhdG9yLnB5)
 | `96.28% <100%> (+0.07%)` | :arrow_up: |
   | 
[airflow/www/utils.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvdXRpbHMucHk=)
 | `80.19% <100%> (ø)` | :arrow_up: |
   | 
[airflow/models/connection.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvY29ubmVjdGlvbi5weQ==)
 | `65% <100%> (ø)` | :arrow_up: |
   | 
[airflow/utils/helpers.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9oZWxwZXJzLnB5)
 | `77.97% <100%> (ø)` | :arrow_up: |
   | 
[airflow/operators/bigquery\_to\_mysql.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9vcGVyYXRvcnMvYmlncXVlcnlfdG9fbXlzcWwucHk=)
 | `74% <100%> (ø)` | :arrow_up: |
   | 
[...e/marketing\_platform/operators/campaign\_manager.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9wcm92aWRlcnMvZ29vZ2xlL21hcmtldGluZ19wbGF0Zm9ybS9vcGVyYXRvcnMvY2FtcGFpZ25fbWFuYWdlci5weQ==)
 | `91.73% <100%> (ø)` | :arrow_up: |
   | 
[airflow/api/common/experimental/mark\_tasks.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9hcGkvY29tbW9uL2V4cGVyaW1lbnRhbC9tYXJrX3Rhc2tzLnB5)
 | `95.39% <100%> (+0.03%)` | :arrow_up: |
   | ... and [21 
more](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree-more) 
| |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=footer). 
Last update 
[db4be19...0e6b5c4](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] codecov-io edited a comment on issue #6601: [AIRFLOW-6010] Remove cyclic imports and pylint disables

2019-11-24 Thread GitBox
codecov-io edited a comment on issue #6601: [AIRFLOW-6010] Remove cyclic 
imports and pylint disables
URL: https://github.com/apache/airflow/pull/6601#issuecomment-557836097
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=h1) 
Report
   > Merging 
[#6601](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=desc) into 
[master](https://codecov.io/gh/apache/airflow/commit/db4be19b80a65913edb5ab634226cf60ea8bffea?src=pr=desc)
 will **increase** coverage by `0.01%`.
   > The diff coverage is `96.68%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/airflow/pull/6601/graphs/tree.svg?width=650=WdLKlKHOAU=150=pr)](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master#6601  +/-   ##
   ==
   + Coverage   83.82%   83.83%   +0.01% 
   ==
 Files 672  671   -1 
 Lines   3756037574  +14 
   ==
   + Hits3148331500  +17 
   + Misses   6077 6074   -3
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[airflow/settings.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9zZXR0aW5ncy5weQ==)
 | `88.81% <ø> (-0.16%)` | :arrow_down: |
   | 
[airflow/utils/dag\_processing.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9kYWdfcHJvY2Vzc2luZy5weQ==)
 | `58.15% <0%> (-0.33%)` | :arrow_down: |
   | 
[airflow/configuration.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9jb25maWd1cmF0aW9uLnB5)
 | `92.75% <100%> (ø)` | :arrow_up: |
   | 
[airflow/models/baseoperator.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvYmFzZW9wZXJhdG9yLnB5)
 | `96.28% <100%> (+0.07%)` | :arrow_up: |
   | 
[airflow/www/utils.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy93d3cvdXRpbHMucHk=)
 | `80.19% <100%> (ø)` | :arrow_up: |
   | 
[airflow/models/connection.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9tb2RlbHMvY29ubmVjdGlvbi5weQ==)
 | `65% <100%> (ø)` | :arrow_up: |
   | 
[airflow/utils/helpers.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy91dGlscy9oZWxwZXJzLnB5)
 | `77.97% <100%> (ø)` | :arrow_up: |
   | 
[airflow/operators/bigquery\_to\_mysql.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9vcGVyYXRvcnMvYmlncXVlcnlfdG9fbXlzcWwucHk=)
 | `74% <100%> (ø)` | :arrow_up: |
   | 
[...e/marketing\_platform/operators/campaign\_manager.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9wcm92aWRlcnMvZ29vZ2xlL21hcmtldGluZ19wbGF0Zm9ybS9vcGVyYXRvcnMvY2FtcGFpZ25fbWFuYWdlci5weQ==)
 | `91.73% <100%> (ø)` | :arrow_up: |
   | 
[airflow/api/common/experimental/mark\_tasks.py](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree#diff-YWlyZmxvdy9hcGkvY29tbW9uL2V4cGVyaW1lbnRhbC9tYXJrX3Rhc2tzLnB5)
 | `95.39% <100%> (+0.03%)` | :arrow_up: |
   | ... and [21 
more](https://codecov.io/gh/apache/airflow/pull/6601/diff?src=pr=tree-more) 
| |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=continue).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=footer). 
Last update 
[db4be19...0e6b5c4](https://codecov.io/gh/apache/airflow/pull/6601?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services