- 21 Jun, 2022 1 commit
-
-
Tigran Mkrtchyan authored
keep dependencies up-to-date. full changelog: https://github.com/eclipse-ee4j/grizzly/releases/tag/4.0.0-RELEASE Acked-by: Lea Morschel Target: master
-
- 08 Jun, 2022 1 commit
-
-
Tigran Mkrtchyan authored
keep external dependencies up to date Acked-by: Albert Rossi Acked-by: Lea Morschel Target: master
-
- 17 May, 2022 2 commits
-
-
Tigran Mkrtchyan authored
Result: more test coverage Acked-by: Paul Millar Target: master
-
Tigran Mkrtchyan authored
Motivation: Sometimes code need to perform an action before RPC request is executed, for example: - logging - validation - DoS protection / rate limitation ``` limiter = RateLimiter.create(500); svc = new OncRpcSvcBuilder() .withServiceName("svc") .withCallInterceptor(c -> limiter.acquire()) .build(); svc.start(); ``` Modification: introduce OncRpcSvcBuilder#withCallInterceptor that injects a RPC call consumer that is called before real work is done. Result: additional actions can be performed before rpc call execution. Acked-by: Lea Morschel Acked-by: Paul Millar Target: master
-
- 10 Jan, 2022 3 commits
-
-
Tigran Mkrtchyan authored
-
Tigran Mkrtchyan authored
-
Tigran Mkrtchyan authored
Motivation: when a Xdr stream is created for bigger requests the RPC layer might require to grow the under laying grizzly buffer. As grizzly memory manager can reallocate only buffers that ware allocated by the same memory manager, the Xdr should know which memory manager is used by RPC layer. Modification: Update Xdr to accept the corresponding memory manager. Update TPC an UDP filters to pass memory manager used by under laying connection. Added test to demonstrate the behavior. Result: Correct behavior when direct byte buffers are used. Acked-by: Paul Millar Target: master
-
- 05 Jan, 2022 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: to reduce dependency on grizzly don't use grizzly specific Buffer without need. Modification: Update RpcAuthGss to expose packet header as java.nio.ByteBuffer Result: less dependency on grizzly Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 23 Dec, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: In some situations client or server wants to now if TLS in applied on the connection, for example before sending the data over the wire or for data protection validation. Modification: introduced RpcTransport#isTLS that checks existence if SSLFilter in the grizzly pipeline. Result: simple way to check TLS status of a connection. target: master Acked-by: Lea Morschel
-
- 14 Dec, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: according to the current draft on startTLS client should send an empty verifier, while server must reply with "STARTTLS" string. See: https://www.ietf.org/archive/id/draft-ietf-nfsv4-rpc-tls-11.txt Modification: Update RpcAuthTypeTls to have a different behavior in the client and server modes. Result: Interoperability with Solaris server. Acked-by: Lea Morschel Target: master
-
- 13 Dec, 2021 2 commits
-
-
Tigran Mkrtchyan authored
time to mover forward Acked-by: Lea Morschel Target: master
-
Tigran Mkrtchyan authored
Motivation: The StartTlsFilter holds a state to indicates that TLS handshake should be started. This state currently shared by all connections forcing all following connections to start TLS handshake, even if not requested. Modification: Use Connection object's attribute store to hold connection specific flag. As we only interested in a on/off flag a dummy object is used as a value. Result: An earlier tls session has no influence on a following one. Fixes: #95 Acked-by: Paul Millar Target: master
-
- 29 Sep, 2021 1 commit
-
-
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
-
- 13 Aug, 2021 2 commits
-
-
Tigran Mkrtchyan authored
build(deps-dev): bump bcprov-ext-jdk15on from 1.60 to 1.67
-
dependabot[bot] authored
Bumps [bcprov-ext-jdk15on](https://github.com/bcgit/bc-java) from 1.60 to 1.67. - [Release notes](https://github.com/bcgit/bc-java/releases) - [Changelog](https://github.com/bcgit/bc-java/blob/master/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits ) --- updated-dependencies: - dependency-name: org.bouncycastle:bcprov-ext-jdk15on dependency-type: direct:development ... Signed-off-by:
dependabot[bot] <support@github.com>
-
- 07 Jun, 2021 1 commit
-
-
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
-
- 27 Apr, 2021 1 commit
-
-
Tigran Mkrtchyan authored
assertFalse(!value) => assertTrue(value) assertTrue(a.equals(b)) -> assertEquals(a, b) Acked-by: Marina Sahakyan Acked-by: Lea Morschel Target: master
-
- 05 Jan, 2021 1 commit
-
-
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
-
- 04 Jan, 2021 1 commit
-
-
Tigran Mkrtchyan authored
fixes falsely places package Acked-by: Lea Morschel Target: master
-
- 28 Dec, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Target: master
-
- 18 Dec, 2020 1 commit
-
-
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
-
- 16 Dec, 2020 1 commit
-
-
Tigran Mkrtchyan authored
no logic changes Target: master
-
- 08 Dec, 2020 1 commit
-
-
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
-
- 30 Nov, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Lea Morschel Target: master
-
- 26 Nov, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Log the address we disconnected from in the exception
-
- 25 Nov, 2020 1 commit
-
-
Anand Ganesh authored
-
- 28 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 27 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
time to move forward... Acked-by: Lea Morschel Acked-by: Albert Rossi Target: master
-
- 19 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Lea Morschel Target: master
-
- 13 Oct, 2020 2 commits
-
-
Tigran Mkrtchyan authored
build(deps): bump junit from 4.12 to 4.13.1
-
dependabot[bot] authored
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1 ) Signed-off-by:
dependabot[bot] <support@github.com>
-
- 16 Jun, 2020 2 commits
-
-
Tigran Mkrtchyan authored
build(deps): bump guava from 24.1-jre to 24.1.1-jre
-
dependabot[bot] authored
Bumps [guava](https://github.com/google/guava) from 24.1-jre to 24.1.1-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits ) Signed-off-by:
dependabot[bot] <support@github.com>
-
- 23 Apr, 2020 2 commits
-
-
Tigran Mkrtchyan authored
Motivation: improve test coverage Acked-by: Albert Rossi Target: master
-
Tigran Mkrtchyan authored
Target: master
-
- 11 Feb, 2020 2 commits
-
-
Tigran Mkrtchyan authored
[SECURITY] Use HTTPS to resolve dependencies in Maven Build
-
Jonathan Leitschuh authored
This fixes a security vulnerability in this project where the `pom.xml` files were configuring Maven to resolve dependencies over HTTP instead of HTTPS. Signed-off-by:
Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com>
-
- 05 Feb, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Paul Millar Acked-by: Svenja Meyer Target: master
-
- 03 Feb, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Paul Millar Target: master
-
- 07 Jan, 2020 1 commit
-
-
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
-