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

Add new AsyncRpcClient

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.1.0, 2.0.0
    • Client
    • None
    • Incompatible change, Reviewed
    • Hide
      Retrofit a new, netty-based rpc transport on the client. This client is slightly slower if little contention given the extra tier or so that netty adds and that we block on a Future waiting on the call to finish. This client opens the way for HBase having a native Async API.

      This client is on by default in master branch (2.0 hbase). It is off in branch-1.0 (hbase-1.1.x). To enable it, set "hbase.rpc.client.impl" to "org.apache.hadoop.hbase.ipc.AsyncRpcClient"
      Show
      Retrofit a new, netty-based rpc transport on the client. This client is slightly slower if little contention given the extra tier or so that netty adds and that we block on a Future waiting on the call to finish. This client opens the way for HBase having a native Async API. This client is on by default in master branch (2.0 hbase). It is off in branch-1.0 (hbase-1.1.x). To enable it, set "hbase.rpc.client.impl" to "org.apache.hadoop.hbase.ipc.AsyncRpcClient"

    Description

      With the changes in HBASE-12597 it is possible to add new RpcClients. This issue is about adding a new Async RpcClient which would enable HBase to do non blocking protobuf service communication.

      Besides delivering a new AsyncRpcClient I would also like to ask the question what it would take to replace the current RpcClient? This would enable to simplify async code in some next issues.

      Attachments

        1. HBASE-12684.patch
          60 kB
          Jurriaan Mous
        2. HBASE-12684-DEBUG2.patch
          106 kB
          Jurriaan Mous
        3. HBASE-12684-DEBUG3.patch
          107 kB
          Jurriaan Mous
        4. HBASE-12684-v1.patch
          77 kB
          Jurriaan Mous
        5. HBASE-12684-v10.patch
          108 kB
          Jurriaan Mous
        6. HBASE-12684-v11.patch
          107 kB
          Jurriaan Mous
        7. HBASE-12684-v12.patch
          108 kB
          Jurriaan Mous
        8. HBASE-12684-v13.patch
          110 kB
          Jurriaan Mous
        9. HBASE-12684-v14.patch
          102 kB
          Jurriaan Mous
        10. HBASE-12684-v15.patch
          102 kB
          Jurriaan Mous
        11. HBASE-12684-v16.patch
          102 kB
          Jurriaan Mous
        12. HBASE-12684-v17.patch
          106 kB
          Michael Stack
        13. HBASE-12684-v17.patch
          106 kB
          Jurriaan Mous
        14. HBASE-12684-v18.patch
          102 kB
          Jurriaan Mous
        15. HBASE-12684-v19.1.patch
          103 kB
          Michael Stack
        16. HBASE-12684-v19.patch
          102 kB
          Jurriaan Mous
        17. HBASE-12684-v19.patch
          102 kB
          Jurriaan Mous
        18. HBASE-12684-v2.patch
          80 kB
          Jurriaan Mous
        19. HBASE-12684-v20.patch
          103 kB
          Jurriaan Mous
        20. HBASE-12684-v20-heapBuffer.patch
          103 kB
          Jurriaan Mous
        21. HBASE-12684-v21.patch
          105 kB
          Jurriaan Mous
        22. HBASE-12684-v21-heapBuffer.1.patch
          105 kB
          Michael Stack
        23. HBASE-12684-v21-heapBuffer.patch
          105 kB
          Jurriaan Mous
        24. HBASE-12684-v22.patch
          105 kB
          Jurriaan Mous
        25. HBASE-12684-v23-epoll.patch
          107 kB
          Jurriaan Mous
        26. HBASE-12684-v24.patch
          107 kB
          Michael Stack
        27. HBASE-12684-v24.patch
          107 kB
          Michael Stack
        28. HBASE-12684-v24.patch
          107 kB
          Jurriaan Mous
        29. HBASE-12684-v24.patch
          107 kB
          Jurriaan Mous
        30. HBASE-12684-v24.patch
          107 kB
          Jurriaan Mous
        31. HBASE-12684-v25.patch
          107 kB
          Jurriaan Mous
        32. HBASE-12684-v26.patch
          106 kB
          Jurriaan Mous
        33. HBASE-12684-v27.patch
          106 kB
          Michael Stack
        34. HBASE-12684-v27.patch
          106 kB
          Jurriaan Mous
        35. HBASE-12684-v28.patch
          104 kB
          Jurriaan Mous
        36. HBASE-12684-v29.patch
          106 kB
          Jurriaan Mous
        37. HBASE-12684-v3.patch
          83 kB
          Jurriaan Mous
        38. HBASE-12684-v30.patch
          106 kB
          Jurriaan Mous
        39. HBASE-12684-v30.patch
          106 kB
          Michael Stack
        40. HBASE-12684-v30.patch
          106 kB
          Jurriaan Mous
        41. HBASE-12684-v31.patch
          106 kB
          Michael Stack
        42. HBASE-12684-v31.patch
          106 kB
          Michael Stack
        43. HBASE-12684-v31.patch
          106 kB
          Jurriaan Mous
        44. HBASE-12684-v4.patch
          108 kB
          Jurriaan Mous
        45. HBASE-12684-v5.patch
          111 kB
          Jurriaan Mous
        46. HBASE-12684-v6.patch
          111 kB
          Jurriaan Mous
        47. HBASE-12684-v7.patch
          107 kB
          Jurriaan Mous
        48. HBASE-12684-v8.patch
          107 kB
          Jurriaan Mous
        49. HBASE-12684-v9.patch
          107 kB
          Jurriaan Mous
        50. myrecording.jfr
          656 kB
          Michael Stack
        51. q.png
          11 kB
          Michael Stack
        52. requests.png
          13 kB
          Michael Stack
        53. Screen Shot 2015-01-11 at 11.55.32 PM.png
          316 kB
          Michael Stack

        Activity

          People

            jurmous Jurriaan Mous
            jurmous Jurriaan Mous
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: