Skip to content

rgw: add enable_keep_alive option#41824

Closed
a9QrX3Lu wants to merge 1 commit intoceph:masterfrom
a9QrX3Lu:patch-tcp-alive
Closed

rgw: add enable_keep_alive option#41824
a9QrX3Lu wants to merge 1 commit intoceph:masterfrom
a9QrX3Lu:patch-tcp-alive

Conversation

@a9QrX3Lu
Copy link
Contributor

This commit adds an enable_keep_alive option to control the keep_alive for
the beast frontend.

Fixes: https://tracker.ceph.com/issues/48402
Signed-off-by: Zulai Wang zl31wang@gmail.com

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

This commit adds an enable_keep_alive option to control the keep_alive for
the beast frontend.

Fixes: https://tracker.ceph.com/issues/48402
Signed-off-by: Zulai Wang <zl31wang@gmail.com>
@a9QrX3Lu a9QrX3Lu marked this pull request as ready for review June 12, 2021 03:26
@ofriedma ofriedma self-requested a review June 13, 2021 12:20
@ofriedma
Copy link
Contributor

jenkins test make check

Comment on lines +100 to +102
:Description: Optional value to enable connection to keep alive, either
"yes" or "no". It allows clients to reuse TCP connections
for subsequent HTTP requests, which improves performance.
Copy link
Contributor

Choose a reason for hiding this comment

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

this description confuses http keepalive with tcp keepalive

the frontend already supports http keepalive based on the http Connection header. see handle_connection() in rgw_asio_frontend.cc, which loops on parser.keep_alive()

this pr is enabling SO_KEEPALIVE on the socket, which controls tcp's keepalive. this differs from civetweb's enable_keep_alive option which controls http keepalive. is that really the intent here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You're right. I'll close this PR.

Copy link

Choose a reason for hiding this comment

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

Hi, I opened the issue https://tracker.ceph.com/issues/48402 and I can say that tcp keepalive is actually the intent here. So this PR looked like a fix for my issue, only the documentation part is wrong. Can this be reopened?

Copy link
Contributor

Choose a reason for hiding this comment

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

hi @r0ss3, i added some thoughts to https://tracker.ceph.com/issues/48402, shall we continue the discussion there?

@a9QrX3Lu a9QrX3Lu closed this Jul 13, 2021
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.

4 participants