Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-14479

Apply the Leader/Followers pattern to RpcServer's Reader

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Abandoned
    • None
    • None
    • IPC/RPC, Performance
    • None

    Description

      RpcServer uses multiple selectors to read data for load distribution, but the distribution is just done by round-robin. It is uncertain, especially for long run, whether load is equally divided and resources are used without being wasted.

      Moreover, multiple selectors may cause excessive context switches which give priority to low latency (while we just add the requests to queues), and it is possible to reduce throughput of the whole server.

      Attachments

        1. flamegraph-19152.svg
          1.55 MB
          Michael Stack
        2. flamegraph-32667.svg
          1.30 MB
          Michael Stack
        3. gc.png
          43 kB
          Michael Stack
        4. gets.png
          26 kB
          Michael Stack
        5. HBASE-14479.branch-1.V5_e.patch
          32 kB
          Hiroshi Ikeda
        6. HBASE-14479.patch
          9 kB
          Hiroshi Ikeda
        7. HBASE-14479-V2.patch
          9 kB
          Michael Stack
        8. HBASE-14479-V2.patch
          9 kB
          Hiroshi Ikeda
        9. HBASE-14479-V2 (1).patch
          9 kB
          Michael Stack
        10. HBASE-14479-V3-experimental_branch-1.patch
          19 kB
          Hiroshi Ikeda
        11. HBASE-14479-V4-experimental_branch-1.patch
          32 kB
          Hiroshi Ikeda
        12. io.png
          39 kB
          Michael Stack
        13. median.png
          28 kB
          Michael Stack

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ikeda Hiroshi Ikeda
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: