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

Remove internal retry loop #216

Merged

Conversation

jsafrane
Copy link
Contributor

@jsafrane jsafrane commented Jan 17, 2019

We should use exponential backoff from the provisioner library. It will react more quickly when a PVC is deleted and it won't occupy a worker thread.

I verified that #63 is still fixed, the provisioner consistently uses pvc-<uid> as CO-supplied volume name for idempotency.

Fixes: #101 #154

@k8s-ci-robot k8s-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 17, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jsafrane

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jan 17, 2019
@jsafrane
Copy link
Contributor Author

/hold
waiting for rebase with kubernetes-sigs/sig-storage-lib-external-provisioner#12

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 17, 2019
@humblec
Copy link
Contributor

humblec commented Jan 18, 2019

/lgtm.
workqueue.Ratelimiter patch is merged, so I believe this is good to go!

We should use exponential backoff from the provisioner library. It will
react more quickly when a PVC is deleted and it won't occupy a worker
thread.
@jsafrane jsafrane force-pushed the remove-internal-retry-loop branch from ddc1f52 to 2f26e44 Compare February 7, 2019 15:24
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Feb 7, 2019
@jsafrane
Copy link
Contributor Author

jsafrane commented Feb 7, 2019

Rebased + added parameters for tighter retry loop.

@msau42 @pohly, PTAL

@jsafrane jsafrane force-pushed the remove-internal-retry-loop branch from 2f26e44 to c489bac Compare February 7, 2019 15:30
Copy link
Contributor

@pohly pohly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with the provisioner library, so I am not really qualified for an in-depth review. But at first glance this looks good.

Is this new behavior something that should be documented immediately in the README.md? We are moving to a model where each component gets documented in its own repo instead of updating the central kubernetes-csi/docs at some later point in time (or not at all...).

// CreateVolume failed , no reason to retry, bailing from ExponentialBackoff
return false, err
})
ctx, cancel := context.WithTimeout(context.Background(), p.timeout)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is still the rpc connection timeout value right? Do we want to have a separate timeout value for the CreateVolume call? For some drivers, the provisioning operation could take minutes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the value is not right. I'd like to address it in a separate PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filled #227

@jsafrane
Copy link
Contributor Author

jsafrane commented Feb 8, 2019

/hold cancel

Regarding README, the current one is not very helpful. Filled #228

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 8, 2019
@msau42
Copy link
Collaborator

msau42 commented Feb 8, 2019

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 8, 2019
@k8s-ci-robot k8s-ci-robot merged commit cbad731 into kubernetes-csi:master Feb 8, 2019
sunnylovestiramisu added a commit to sunnylovestiramisu/external-provisioner that referenced this pull request Apr 12, 2023
6613c3980 Merge pull request kubernetes-csi#223 from sunnylovestiramisu/update
0e7ae993d Update k8s image repo url
77e47cce8 Merge pull request kubernetes-csi#222 from xinydev/fix-dep-version
155854b09 Fix dep version mismatch
8f839056a Merge pull request kubernetes-csi#221 from sunnylovestiramisu/go-update
1d3f94dd5 Update go version to 1.20 to match k/k v1.27
e322ce5e5 Merge pull request kubernetes-csi#220 from andyzhangx/fix-golint-error
b74a51209 test: fix golint error
aa61bfd0c Merge pull request kubernetes-csi#218 from xing-yang/update_csi_driver
7563d1963 Update CSI_PROW_DRIVER_VERSION to v1.11.0
a2171bef0 Merge pull request kubernetes-csi#216 from msau42/process
cb9878261 Merge pull request kubernetes-csi#217 from msau42/owners
a11216e47 add new reviewers and remove inactive reviewers
dd9867540 Add step for checking builds
b66c08249 Merge pull request kubernetes-csi#214 from pohly/junit-fixes
b9b6763bd filter-junit.go: fix loss of testcases when parsing Ginkgo v2 JUnit
d4277839f filter-junit.go: preserve system error log
38e11468f prow.sh: publish individual JUnit files as separate artifacts

git-subtree-dir: release-tools
git-subtree-split: 6613c3980d1e418bebb7bc49d64c977cfff85671
sunnylovestiramisu added a commit to sunnylovestiramisu/external-provisioner that referenced this pull request Apr 14, 2023
6613c3980 Merge pull request kubernetes-csi#223 from sunnylovestiramisu/update
0e7ae993d Update k8s image repo url
77e47cce8 Merge pull request kubernetes-csi#222 from xinydev/fix-dep-version
155854b09 Fix dep version mismatch
8f839056a Merge pull request kubernetes-csi#221 from sunnylovestiramisu/go-update
1d3f94dd5 Update go version to 1.20 to match k/k v1.27
e322ce5e5 Merge pull request kubernetes-csi#220 from andyzhangx/fix-golint-error
b74a51209 test: fix golint error
aa61bfd0c Merge pull request kubernetes-csi#218 from xing-yang/update_csi_driver
7563d1963 Update CSI_PROW_DRIVER_VERSION to v1.11.0
a2171bef0 Merge pull request kubernetes-csi#216 from msau42/process
cb9878261 Merge pull request kubernetes-csi#217 from msau42/owners
a11216e47 add new reviewers and remove inactive reviewers
dd9867540 Add step for checking builds
b66c08249 Merge pull request kubernetes-csi#214 from pohly/junit-fixes
b9b6763bd filter-junit.go: fix loss of testcases when parsing Ginkgo v2 JUnit
d4277839f filter-junit.go: preserve system error log
38e11468f prow.sh: publish individual JUnit files as separate artifacts

git-subtree-dir: release-tools
git-subtree-split: 6613c3980d1e418bebb7bc49d64c977cfff85671
sunnylovestiramisu added a commit to sunnylovestiramisu/external-provisioner that referenced this pull request Apr 14, 2023
6613c3980 Merge pull request kubernetes-csi#223 from sunnylovestiramisu/update
0e7ae993d Update k8s image repo url
77e47cce8 Merge pull request kubernetes-csi#222 from xinydev/fix-dep-version
155854b09 Fix dep version mismatch
8f839056a Merge pull request kubernetes-csi#221 from sunnylovestiramisu/go-update
1d3f94dd5 Update go version to 1.20 to match k/k v1.27
e322ce5e5 Merge pull request kubernetes-csi#220 from andyzhangx/fix-golint-error
b74a51209 test: fix golint error
aa61bfd0c Merge pull request kubernetes-csi#218 from xing-yang/update_csi_driver
7563d1963 Update CSI_PROW_DRIVER_VERSION to v1.11.0
a2171bef0 Merge pull request kubernetes-csi#216 from msau42/process
cb9878261 Merge pull request kubernetes-csi#217 from msau42/owners
a11216e47 add new reviewers and remove inactive reviewers
dd9867540 Add step for checking builds
b66c08249 Merge pull request kubernetes-csi#214 from pohly/junit-fixes
b9b6763bd filter-junit.go: fix loss of testcases when parsing Ginkgo v2 JUnit
d4277839f filter-junit.go: preserve system error log
38e11468f prow.sh: publish individual JUnit files as separate artifacts

git-subtree-dir: release-tools
git-subtree-split: 6613c3980d1e418bebb7bc49d64c977cfff85671
kbsonlong pushed a commit to kbsonlong/external-provisioner that referenced this pull request Dec 29, 2023
6613c398 Merge pull request kubernetes-csi#223 from sunnylovestiramisu/update
0e7ae993 Update k8s image repo url
77e47cce Merge pull request kubernetes-csi#222 from xinydev/fix-dep-version
155854b0 Fix dep version mismatch
8f839056 Merge pull request kubernetes-csi#221 from sunnylovestiramisu/go-update
1d3f94dd Update go version to 1.20 to match k/k v1.27
e322ce5e Merge pull request kubernetes-csi#220 from andyzhangx/fix-golint-error
b74a5120 test: fix golint error
aa61bfd0 Merge pull request kubernetes-csi#218 from xing-yang/update_csi_driver
7563d196 Update CSI_PROW_DRIVER_VERSION to v1.11.0
a2171bef Merge pull request kubernetes-csi#216 from msau42/process
cb987826 Merge pull request kubernetes-csi#217 from msau42/owners
a11216e4 add new reviewers and remove inactive reviewers
dd986754 Add step for checking builds
b66c0824 Merge pull request kubernetes-csi#214 from pohly/junit-fixes
b9b6763b filter-junit.go: fix loss of testcases when parsing Ginkgo v2 JUnit
d4277839 filter-junit.go: preserve system error log
38e11468 prow.sh: publish individual JUnit files as separate artifacts

git-subtree-dir: release-tools
git-subtree-split: 6613c3980d1e418bebb7bc49d64c977cfff85671
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Exponential backoff for VolumeCreate issues
5 participants