1. 29 Sep, 2021 1 commit
    • Tigran Mkrtchyan's avatar
      pom: use grizzly-3.0.0 · 50ad1f0d
      Tigran Mkrtchyan authored
      Motivation:
      use up-to-date release with bugfixes and enhancements.
      
      Modification:
      use grizzly-3.0.0
      
      Result:
      up-to-date dependency. no visible changes
      
      Acked-by: Lea Morschel
      Target: master
      50ad1f0d
  2. 13 Aug, 2021 2 commits
  3. 07 Jun, 2021 1 commit
    • Tigran Mkrtchyan's avatar
      rpc: add RpcCall#startTLS to simplify the API · cf298a57
      Tigran Mkrtchyan authored
      Motivation:
      The API to start TLS handshake is not handy as requires an extra RPC
      NULL call.
      
      Modification:
      introduce RpcCall#startTLS to encapsulate the RPC NULL call.
      
      Result:
      a slightly better API
      
      Acked-by: Lea Morschel
      Target: master
      cf298a57
  4. 27 Apr, 2021 1 commit
  5. 05 Jan, 2021 1 commit
    • Tigran Mkrtchyan's avatar
      rpc: drop SimpleRpcClient and SimpleRpcServer · f67311c8
      Tigran Mkrtchyan authored
      Motivation:
      Test code doesn't belong to the main library.
      
      Modification:
      remove SimpleRpcClient and SimpleRpcServer. Add corresponding benchmark
      that provides the same functionality.
      
      Result:
      no test code in the core library.
      
      Acked-by: Lea Morschel
      Acked-by: Paul Millar
      Target: master
      f67311c8
  6. 04 Jan, 2021 1 commit
  7. 28 Dec, 2020 1 commit
  8. 18 Dec, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      rpcsvc: use try-with-resource when updating portmap · 2d47552e
      Tigran Mkrtchyan authored
      Motivation:
      As OncRpcClient implements AutoCloseable interface, using in
      try-with-resource block is more natural than try-finally
      
      Modification:
      update OncRpcSvc#publishToPortmap and OncRpcSvc#clearPortmap to make use
      of try-with-resource construction.
      
      Result:
      more simple and up-to-date logic
      
      Acked-by: Lea Morschel
      Acked-by: Albert Rossi
      Acked-by: Paul Millar
      Target: master
      2d47552e
  9. 16 Dec, 2020 1 commit
  10. 08 Dec, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      oncrpc: add ability to control memory allocator · c4b9961f
      Tigran Mkrtchyan authored
      Motivation:
      The RPC messages might have different sizes and purposes. Some of
      them and small, others are big, for example nfs GETATTR call/reply
      are ~128 byes, but IO requests like READ and WRITE might be 1MB big.
      Moreover, the data used by IO requests are often read from or written
      to disk through java NIO API. Thus direct byte buffers are preferred.
      
      Modification:
      Add a possibility to control the memory allocation policy. Update
      OncRpcSvcBuilder to expose new functionality, by preserving default
      behavior.
      
      Result:
      More flexible memory management with rule of thumb:
      
      For small requests use HEAP allocator. In other cases POOLED
      has a better performance.
      
      AllocatorBenchmark.allocate           heap        128  thrpt   20  49791239.209 ± 122939.377  ops/s
      AllocatorBenchmark.allocate             bb        128  thrpt   20  31980902.534 ± 130232.954  ops/s
      AllocatorBenchmark.allocate  pooled-direct      16384  thrpt   20  18150104.447 ±  94087.140  ops/s
      AllocatorBenchmark.allocate  pooled-direct        128  thrpt   20  18083772.708 ± 231314.463  ops/s
      AllocatorBenchmark.allocate  pooled-direct       1024  thrpt   20  18051147.691 ±  75325.348  ops/s
      AllocatorBenchmark.allocate         pooled      16384  thrpt   20  12510167.658 ± 189768.727  ops/s
      AllocatorBenchmark.allocate         pooled        128  thrpt   20  11313056.455 ± 101182.275  ops/s
      AllocatorBenchmark.allocate         pooled       1024  thrpt   20  10704443.770 ± 417986.884  ops/s
      AllocatorBenchmark.allocate           heap       1024  thrpt   20  10039347.620 ±  21660.670  ops/s
      AllocatorBenchmark.allocate             bb       1024  thrpt   20   9731756.363 ± 111935.133  ops/s
      AllocatorBenchmark.allocate      bb-direct        128  thrpt   20   1167915.132 ± 303779.958  ops/s
      AllocatorBenchmark.allocate             bb      16384  thrpt   20   1103752.015 ±   4981.959  ops/s
      AllocatorBenchmark.allocate           heap      16384  thrpt   20   1096764.395 ±   3383.219  ops/s
      AllocatorBenchmark.allocate      bb-direct       1024  thrpt   20    942751.899 ±  63066.509  ops/s
      AllocatorBenchmark.allocate  pooled-direct    1048576  thrpt   20    806817.161 ±  15408.086  ops/s
      AllocatorBenchmark.allocate         pooled    1048576  thrpt   20    690660.597 ±   6888.734  ops/s
      AllocatorBenchmark.allocate      bb-direct      16384  thrpt   20    488973.714 ±   6925.715  ops/s
      AllocatorBenchmark.allocate      bb-direct    1048576  thrpt   20     15487.488 ±     70.131  ops/s
      AllocatorBenchmark.allocate           heap    1048576  thrpt   20     14889.964 ±    113.748  ops/s
      AllocatorBenchmark.allocate             bb    1048576  thrpt   20     14884.161 ±    142.970  ops/s
      
      Target: master
      Acked-by: Albert Rossi
      Acked-by: Paul MiLlar
      c4b9961f
  11. 30 Nov, 2020 1 commit
  12. 26 Nov, 2020 1 commit
  13. 25 Nov, 2020 1 commit
  14. 28 Oct, 2020 1 commit
  15. 27 Oct, 2020 1 commit
  16. 19 Oct, 2020 1 commit
  17. 13 Oct, 2020 2 commits
  18. 16 Jun, 2020 2 commits
  19. 23 Apr, 2020 2 commits
  20. 11 Feb, 2020 2 commits
  21. 05 Feb, 2020 1 commit
  22. 03 Feb, 2020 1 commit
  23. 07 Jan, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      rpc: change ABI to have more predictable client behaviour · c66adbfd
      Tigran Mkrtchyan authored
      Motivation:
      
      RpcCall#call(proc, args, callback, auth) method throws EOFException
      when no callback is provided and client is disconnected. However,
      there is no guarantee, that after call is complete client is still
      able to send the request. IOW, it client code depends on message
      delivery, then callback have to be provided.
      
      Modification:
      update RpcCall#call not to check connection status.
      
      Result:
      more predictable client behaviour. NOTICE, that current code, which
      expect such functionality is now broken, but it broken by design anyway.
      
      Acked-by: Paul Millar
      Target: master
      c66adbfd
  24. 18 Sep, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      rpc: remove complete timeout task after request is complete · 93286810
      Tigran Mkrtchyan authored
      Motivation:
      ReplyQueue uses ScheduledThreadPoolExecutor to collect expired request.
      However, non expired requests (those that get reply) not removed from
      the scheduler's queue.
      
      Modification:
      Configure ScheduledThreadPoolExecutor to remove canceled tasks. Add test
      to demonstrate this 'leak' pattern as  well as improve overall test
      coverage.
      
      Result:
      Avoid potential memory leak for high number of requests with bit timeout
      values.
      
      Acked-by: Marina Sahakyan
      Target: master, 3.1
      93286810
  25. 31 Jul, 2019 1 commit
  26. 29 Jul, 2019 2 commits
    • Tigran Mkrtchyan's avatar
      Merge pull request #83 from ArtMk/patch-1 · bef3518e
      Tigran Mkrtchyan authored
      readme: add latest release badge
      bef3518e
    • Tigran Mkrtchyan's avatar
      pom: add profile to sign artifacts · 6cd0cabd
      Tigran Mkrtchyan authored
      Motivation:
      The are many reasons why we should sign our artifacts. The main two are:
      
        - allow library users to verify who have release the jars
        - maven central accepts only signed artifacts (and this is the goal)
      
      Modification:
      Add profile that will be activated by maven release plugin or manually
      with `-P sign-artifacts` option.
      
      Result:
      produced artifacts will be released.
      
      Acked-by: Jürgen Starek
      Target: master, 3.1
      6cd0cabd
  27. 28 Jul, 2019 1 commit
  28. 19 Jul, 2019 4 commits
  29. 18 Jul, 2019 1 commit
  30. 08 Jul, 2019 1 commit
  31. 27 Jun, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      rpc: introduce handy RpcAuthTypeUnix#ofCurrentUnixUser method · 92556645
      Tigran Mkrtchyan authored
      Motivation:
      In situations, where we need to use currently logged user with AUTH_SYS
      a handy shortcut can be used to generate corresponding RpcAuthTypeUnix
      object.
      
      Modification:
      Introduce RpcAuthTypeUnix#ofCurrentUnixUser  that generated an instance of
      RpcAuthTypeUnix object by getting logged users uid, gid and gids from
      UnixSystem class. Update animal-sniffer-maven-plugin configuration to
      allow usage of classes from com.sun.security.auth package at they are
      a part of official JDK.
      
      Result:
      An instance of RpcAuthTypeUnix can be generated for currently logged
      user.
      
      Acked-by: Paul Millar
      Target: master
      92556645