Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-1192

Periodically flush glog buffers from a thread

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0
    • Component/s: util
    • Labels:

      Description

      If a tserver or master is started and there are no live tablets, glog will buffer the output indefinitely which prevents startup messages from appearing. This is confusing and might look like the server is hung.

      There is a flag called --logbufsecs that controls how long glog will buffer data before flushing, but it's lazy; if another log message doesn't come in after that time, nothing will trigger the flush. There is no auto-flush thread.

      The solution is to run a thread that periodically flushes all of the logs by calling google::FlushLogFiles(INFO).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                WilliamLi William Li
                Reporter:
                mpercy Mike Percy
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: