• H
    Wake up faster, if a segment returns an error. · 3bbedbe9
    Heikki Linnakangas 提交于
    Previously, if a segment reported an error after starting up the
    interconnect, it would take up to 250 ms for the main thread in the QD
    process to wake up and poll the dispatcher connections, and to see that
    there was an error. Shorten that time, by waking up immediately if the
    QD->QE libpq socket becomes readable while we're waiting for data to
    arrive in a Motion node.
    
    This isn't a complete solution, because this will only wake up if one
    arbitrarily chosen connection becomes readable, and we still rely on
    polling for the others. But this greatly speeds up many common scenarios.
    In particular, the "qp_functions_in_select" test now runs in under 5 s
    on my laptop, when it took about 60 seconds before.
    3bbedbe9
cdbdisp.h 6.6 KB