Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Synapse] - Enhance SparkBatchOperation polling logic to support both job submission and job execution scenarios and fix SparkSessionOperation and SparkStatementOperation #23706

Merged
merged 14 commits into from
Sep 30, 2021

Conversation

idear1203
Copy link
Contributor

@idear1203 idear1203 commented Sep 1, 2021

All SDK Contribution checklist:

Fix the issue brought in the PR: #17920 .

Spark job has two phases: job submission and job execution. If we want to return when job submission is over, both "starting" and "running" should be considered as terminating states. If we want to return when job execution is over, we should not return when job state is "starting" or "running".

The PR aims to fixing the polling logic by supporting both scenarios of job submission and job execution. It adds a new UpdateStatus method with a parameter to determine whether to wait for completion of job execution.

This checklist is used to make sure that common guidelines for a pull request are followed.

  • Please open PR in Draft mode if it is:
    • Work in progress or not intended to be merged.
    • Encountering multiple pipeline failures and working on fixes.
  • If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
  • I have read the contribution guidelines.
  • The pull request does not introduce breaking changes.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

SDK Generation Guidelines

  • The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code. (Track 2 only)
  • The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK. Please double check nuget.org current release version.

Additional management plane SDK specific contribution checklist:

Note: Only applies to Microsoft.Azure.Management.[RP] or Azure.ResourceManager.[RP]

  • Include updated management metadata.
  • Update AzureRP.props to add/remove version info to maintain up to date API versions.

Management plane SDK Troubleshooting

  • If this is very first SDK for a services and you are adding new service folders directly under /SDK, please add new service label and/or contact assigned reviewer.

  • If the check fails at the Verify Code Generation step, please ensure:

    • Do not modify any code in generated folders.
    • Do not selectively include/remove generated files in the PR.
    • Do use generate.ps1/cmd to generate this PR instead of calling autorest directly.
      Please pay attention to the @microsoft.csharp version output after running generate.ps1. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version.

    Note: We have recently updated the PSH module called by generate.ps1 to emit additional data. This would help reduce/eliminate the Code Verification check error. Please run following command:

      `dotnet msbuild eng/mgmt.proj /t:Util /p:UtilityName=InstallPsModules`
    

Old outstanding PR cleanup

Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.

@idear1203 idear1203 changed the title [Synapse] - SparkBatchOperation should not return when state is starting [Synapse] - Enhance SparkBatchOperation polling logic to support both job submission and job execution scenarios Sep 1, 2021
@idear1203 idear1203 force-pushed the synapse_fix_polling_logic_for_spark branch from bf8933c to 25c5298 Compare September 7, 2021 10:56
@idear1203 idear1203 marked this pull request as draft September 7, 2021 10:56
@idear1203 idear1203 marked this pull request as ready for review September 10, 2021 05:27
@idear1203 idear1203 force-pushed the synapse_fix_polling_logic_for_spark branch from fce0b16 to 2dbf8fb Compare September 13, 2021 04:48
@check-enforcer
Copy link

This pull request is protected by Check Enforcer.

What is Check Enforcer?

Check Enforcer helps ensure all pull requests are covered by at least one check-run (typically an Azure Pipeline). When all check-runs associated with this pull request pass then Check Enforcer itself will pass.

Why am I getting this message?

You are getting this message because Check Enforcer did not detect any check-runs being associated with this pull request within five minutes. This may indicate that your pull request is not covered by any pipelines and so Check Enforcer is correctly blocking the pull request being merged.

What should I do now?

If the check-enforcer check-run is not passing and all other check-runs associated with this PR are passing (excluding license-cla) then you could try telling Check Enforcer to evaluate your pull request again. You can do this by adding a comment to this pull request as follows:
/check-enforcer evaluate
Typically evaulation only takes a few seconds. If you know that your pull request is not covered by a pipeline and this is expected you can override Check Enforcer using the following command:
/check-enforcer override
Note that using the override command triggers alerts so that follow-up investigations can occur (PRs still need to be approved as normal).

What if I am onboarding a new service?

Often, new services do not have validation pipelines associated with them. In order to bootstrap pipelines for a new service, please perform following steps:

For data-plane/track 2 SDKs Issue the following command as a pull request comment:

/azp run prepare-pipelines
This will run a pipeline that analyzes the source tree and creates the pipelines necessary to build and validate your pull request. Once the pipeline has been created you can trigger the pipeline using the following comment:
/azp run net - [service] - ci

For track 1 management-plane SDKs

Please open a separate PR and to your service SDK path in this file. Once that PR has been merged, you can re-run the pipeline to trigger the verification.

@idear1203 idear1203 force-pushed the synapse_fix_polling_logic_for_spark branch from b15794f to e162316 Compare September 17, 2021 08:51
@idear1203 idear1203 changed the title [Synapse] - Enhance SparkBatchOperation polling logic to support both job submission and job execution scenarios [Synapse] - Enhance SparkBatchOperation polling logic to support both job submission and job execution scenarios and fix SparkSessionOperation and SparkStatementOperation Sep 17, 2021
@idear1203 idear1203 force-pushed the synapse_fix_polling_logic_for_spark branch from 8a130b3 to 94447a4 Compare September 22, 2021 05:12
@azure-sdk
Copy link
Collaborator

API changes have been detected in this PR. You can review API changes here

@azure-sdk
Copy link
Collaborator

API changes have been detected in this PR. You can review API changes here

@idear1203 idear1203 merged commit 9ed79cd into Azure:main Sep 30, 2021
azure-sdk pushed a commit to azure-sdk/azure-sdk-for-net that referenced this pull request Apr 28, 2023
Release apimanagement 2022 09 01 preview (Azure#22978)

* Adds base for updating Microsoft.ApiManagement from version stable/2022-08-01 to version 2022-09-01-preview

* Updates readme

* Updates API version in new specs and examples

* Add circuit breaker to the backend contract (Azure#21320) (Azure#23359)

* add circuit breaker to the backend contract

* resolve validation errors

* Revert "resolve validation errors" and last push

This reverts commit c55768584cffca0d61fed6d731fd85b0a0e8ede6.

* resolve validation errors

* run prettier

* stv2.1 (Azure#23326)

* added Workspaces feature-related endpoints and contracts (Azure#23330)

* added Workspaces feature-related endpoints and contracts

* cleanup

* prettier

* + examples

* - redundant examples

* link contracts for PUT

* typo

* Location header added to async operations

---------

Co-authored-by: promoisha <glfeokti@microsoft.com>

* New ApiVersion 2022-09-01-preview : Fix Linter errors (Azure#23706)

* x-ms-pageable extension for all list calls on policy

* x-ms-secret to secret values

* location header and invalid produces

* New Api-Version 2022-09-01-preview: Linter Errors (Azure#23739)

* boolean to x-ms-enum

* add location header to 202 response

* Location header to all 202 operations

---------

Co-authored-by: Mahsa Sadi <mahsa.sadi@utoronto.ca>
Co-authored-by: promoisha <feoktistovgg@gmail.com>
Co-authored-by: promoisha <glfeokti@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants