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

jewel: rgw: work around curl_multi_wait bug with non-blocking reads #11627

Merged
10 commits merged into from Nov 11, 2016

Commits on Nov 9, 2016

  1. rgw: create thread_pipe before RGWHTTPManager::ReqsThread

    closes a potential race between pipe creation and
    RGWHTTPManager::reqs_thread_entry()'s access of thread_pipe
    
    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit 9161e9f)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    b5a4610 View commit details
    Browse the repository at this point in the history
  2. rgw: clean up thread_pipe in RGWHTTPManager::stop

    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit c93959b)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    01f7868 View commit details
    Browse the repository at this point in the history
  3. rgw: add pipe fd to set for select() in do_curl_wait()

    when HAVE_CURL_MULTI_WAIT is 0, the pipe fd is never added to the
    readfds for select(), so FD_ISSET() is always false. this prevents us
    from ever trying to read from the fd, and the pipe's buffer eventually
    fills up and deadlocks callers of RGWHTTPManager::signal_thread() when
    they try to write to the pipe
    
    Fixes: http://tracker.ceph.com/issues/16368
    
    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit 75897f8)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    0330031 View commit details
    Browse the repository at this point in the history
  4. rgw: do_curl_wait uses ldout

    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit 2080984)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    cf6e695 View commit details
    Browse the repository at this point in the history
  5. rgw: factored clear_signal out of do_curl_wait

    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit f2f5cdf)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    e956efe View commit details
    Browse the repository at this point in the history
  6. rgw: use non-blocking reads for clear_signal

    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit 1101fcc)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    3881444 View commit details
    Browse the repository at this point in the history
  7. rgw: detect and work around a curl_multi_wait bug

    Fixes: http://tracker.ceph.com/issues/15915
    Fixes: http://tracker.ceph.com/issues/16695
    
    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit 0359be6)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    8b7d722 View commit details
    Browse the repository at this point in the history
  8. rgw/rgw_http_client: add compat.h include for TEMP_FAILURE_RETRY

    Signed-off-by: John Coyle <dx9err@gmail.com>
    (cherry picked from commit 00f4554)
    dx9 authored and cbodley committed Nov 9, 2016
    Copy the full SHA
    6f512d1 View commit details
    Browse the repository at this point in the history
  9. rgw: remove suggestion to upgrade libcurl

    Reported-by: Ken Dreyer <kdreyer@redhat.com>
    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    (cherry picked from commit dcff120)
    cbodley committed Nov 9, 2016
    Copy the full SHA
    2d0ccf3 View commit details
    Browse the repository at this point in the history
  10. rgw: add missing mutex header for std::once_flag

    this fix was added directly to the jewel branch rather than backporting
    from master, because the code on master compiles without this specific
    include - it's likely included by another header, but backporting would
    involve pulling in unrelated changes
    
    Signed-off-by: Casey Bodley <cbodley@redhat.com>
    cbodley committed Nov 9, 2016
    Copy the full SHA
    fe30fa5 View commit details
    Browse the repository at this point in the history