Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Fix all Amazon Provider MyPy errors - #20935

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider
Jan 21, 2022
Merged

Fix all Amazon Provider MyPy errors#20935
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-mypy-aws-provider

Conversation

@potiuk

Copy link
Copy Markdown
Member

Part of #19891


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 18, 2022
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 2649921 to 7ce84ecCompareJanuary 18, 2022 19:48
@potiukpotiuk changed the title Fix allo Amazon Provider MyPy errorsFix all Amazon Provider MyPy errorsJan 18, 2022
@potiukpotiuk mentioned this pull request Jan 18, 2022
10 tasks
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 3 times, most recently from 3c5cadf to 5be3fe3CompareJanuary 18, 2022 23:00
@potiukpotiuk closed this Jan 18, 2022
@potiukpotiuk reopened this Jan 18, 2022
@potiuk

Copy link
Copy Markdown
MemberAuthor

All green now!

@potiuk

Copy link
Copy Markdown
MemberAuthor

With this one (and some merged yesterday) will get to 29 MyPy errors left !

Comment threadairflow/providers/amazon/aws/operators/cloud_formation.py Outdated
Comment threadairflow/providers/amazon/aws/operators/eks.py Outdated
Comment threadairflow/providers/amazon/aws/operators/glue.py Outdated
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch 2 times, most recently from d317b11 to 1374e56CompareJanuary 20, 2022 18:24
@potiuk
potiuk requested a review from ashbJanuary 20, 2022 18:28
@potiuk
potiukforce-pushed the fix-mypy-aws-provider branch from 1374e56 to 157b1f5CompareJanuary 20, 2022 18:55
@potiuk

Copy link
Copy Markdown
MemberAuthor

Looks like going to be Green :)

@potiuk

Copy link
Copy Markdown
MemberAuthor

Hey @ashb - all should be good here. (and really close to finish MyPy).

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 21, 2022
@potiuk
potiuk merged commit 27b77d3 into apache:mainJan 21, 2022
@potiuk
potiuk deleted the fix-mypy-aws-provider branch January 21, 2022 13:55
@jedcunninghamjedcunningham added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Mar 1, 2022
@potiuk
potiuk restored the fix-mypy-aws-provider branch April 26, 2022 20:53
@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

EDIT: What are sensible next steps? (Improving my language)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.

Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

@JorgenG

Copy link
Copy Markdown

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? 🤔

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk This has broken the ability to run a glue job without specifying a script location on AWS Glue.
Previously it was allowed that this value was None, resulting in using the default script value configured in the glue service itself. Now, the only way to escape the local file upload is to start with s3://, which then obviously will break further down. Can you please revert this change for aws glue?

Feel free to provide a good fix for it. I think you are the one who can test it eeasily, so likely it's best if you fix it. Can you please make a fix @JorgenG ?

Alternatively you can open an issue, and we can mark it as good first issue if it will be justified, and hopefully it will get fixed - but yo need to describe in detail the scenario - i think the one liner description above is not enough of the doscription what exactly got broken.

@JorgenG

Copy link
Copy Markdown

@potiuk Totally makes sense. I'll give it a go myself and if not I'll summarize as a better described issue. Thanks a lot for responding quickly! 👍

@potiuk

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

No idea- maybe some of the typing in Amazon was wrong, I do not know which exact part of it you refer to so it's hard to say.

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk I think can jump on that early next week. I am not familiar with the MyPy tooling though. I assume the origin of this change is due to the parameter not being optional? Would I then add back in a "violation" of your MyPy fixes? thinking

Or maybe the way it worked before was accidental and not really supported/expected - in which case it is a no issue and it was simply wrongly used - maybe there is another "proper" way of doing it - this is what I am referring to as "you are the one that can fix it". While I think MyPy changes were neutral, it could be it is really a problem with underlying library behaviour when None is passed. That's why it needs a specific explanation and reproducible case in issue.

@potiuk

Copy link
Copy Markdown
MemberAuthor

Ah - I saw your detailed comment now - sure I will make a fix in a moment :)

@potiuk

potiuk commented Apr 29, 2022

Copy link
Copy Markdown
MemberAuthor

I did not realize you commented on the exact line - I only saw this comment and did not know what it referred to 🤣

@JorgenG

JorgenG commented Apr 29, 2022

Copy link
Copy Markdown

Wow, thanks. That is very kind! Let me know if you want any more elaboration or investigation here. As you mention, I am not sure what is "correct" usage of this. However as an example from the boto3 start_job_run, https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.start_job_run,

There does not seem to be any requirement to provide this. I think script location is passed as an argument.

EDIT: Also as can be seen here; https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

If providing script location, it overrides what is set on the job. This wording IMO indicates that it should be possible to not provide it. 👍

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 29, 2022
Fix error introduced in apache#20935 where script location in Glue
Job could be None.
@potiuk
potiuk deleted the fix-mypy-aws-provider branch July 29, 2022 20:02
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providerschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)full tests neededWe need to run full set of tests for this PR to mergeprovider:amazonAWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@potiuk@JorgenG@ashb@kaxil@jedcunningham