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

Fix bundle_timeout issue caused by OVS PacketIn channel #951

Merged
merged 1 commit into from Jul 20, 2020

Conversation

gran-vmv
Copy link
Contributor

SubscribePacketIn requires a receiver to pop data in ch timely, otherwise it will block all inbound messages from OVS.
This PR closes #937

@antrea-bot
Copy link
Collaborator

Thanks for your PR.
Unit tests and code linters are run automatically every time the PR is updated.
E2e, conformance and network policy tests can only be triggered by a member of the vmware-tanzu organization. Regular contributors to the project should join the org.

The following commands are available:

  • /test-e2e: to trigger e2e tests.
  • /skip-e2e: to skip e2e tests.
  • /test-conformance: to trigger conformance tests.
  • /skip-conformance: to skip conformance tests.
  • /test-whole-conformance: to trigger all conformance tests on linux.
  • /skip-whole-conformance: to skip all conformance tests on linux.
  • /test-networkpolicy: to trigger networkpolicy tests.
  • /skip-networkpolicy: to skip networkpolicy tests.
  • /test-windows-conformance: to trigger windows conformance tests.
  • /skip-windows-conformance: to skip windows conformance tests.
  • /test-all: to trigger all tests (except whole conformance).
  • /skip-all: to skip all tests (except whole conformance).

These commands can only be run by members of the vmware-tanzu organization.

pkg/agent/openflow/packetin.go Outdated Show resolved Hide resolved
pkg/agent/openflow/packetin.go Show resolved Hide resolved
pkg/agent/openflow/packetin.go Outdated Show resolved Hide resolved
@antrea-bot
Copy link
Collaborator

Thanks for your PR.
Unit tests and code linters are run automatically every time the PR is updated.
E2e, conformance and network policy tests can only be triggered by a member of the vmware-tanzu organization. Regular contributors to the project should join the org.

The following commands are available:

  • /test-e2e: to trigger e2e tests.
  • /skip-e2e: to skip e2e tests.
  • /test-conformance: to trigger conformance tests.
  • /skip-conformance: to skip conformance tests.
  • /test-whole-conformance: to trigger all conformance tests on linux.
  • /skip-whole-conformance: to skip all conformance tests on linux.
  • /test-networkpolicy: to trigger networkpolicy tests.
  • /skip-networkpolicy: to skip networkpolicy tests.
  • /test-windows-conformance: to trigger windows conformance tests.
  • /skip-windows-conformance: to skip windows conformance tests.
  • /test-windows-networkpolicy: to trigger windows networkpolicy tests.
  • /skip-windows-networkpolicy: to skip windows networkpolicy tests.
  • /test-all: to trigger all tests (except whole conformance).
  • /skip-all: to skip all tests (except whole conformance).

These commands can only be run by members of the vmware-tanzu organization.

@gran-vmv gran-vmv force-pushed the tf-bundle branch 3 times, most recently from 993fd23 to e945a50 Compare July 15, 2020 03:35
for {
select {
case pktIn := <-ch:
if packetInQueue.Len() < packetInQueueSize {
Copy link
Contributor

Choose a reason for hiding this comment

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

We need a comment here. Especially because if someone refers to the K8s documentation (https://godoc.org/k8s.io/client-go/util/workqueue#Type.Len), they will see this:

Len returns the current queue length, for informational purposes only. You shouldn't e.g. gate a call to Add() or Get() on Len() being a particular value, that can't be synchronized properly.

Now in our case I think it's ok because we just try to ensure that the queue doesn't grow too big, we are not interested in providing an exact guarantee. But a comment would help avoid confusion.

@tnqn

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure. Added comment here.

SubscribePacketIn requires a receiver to pop data in ch timely, otherwise
it will block all inbound messages from OVS.
@gran-vmv
Copy link
Contributor Author

/test-all

@gran-vmv
Copy link
Contributor Author

/test-e2e

@gran-vmv
Copy link
Contributor Author

/test-e2e

@gran-vmv gran-vmv merged commit a858c9a into antrea-io:master Jul 20, 2020
GraysonWu pushed a commit to GraysonWu/antrea that referenced this pull request Sep 22, 2020
SubscribePacketIn requires a receiver to pop data in ch timely, otherwise
it will block all inbound messages from OVS.
@gran-vmv gran-vmv deleted the tf-bundle branch October 12, 2020 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Traceflow fails with "bundle reply is timeout"
5 participants