jrhee17
jrhee17
``` grpc-web-client.umd.js:1 Uncaught (in promise) DOMException: The user aborted a request. ``` I'm seeing this log in the browser when cancelling a grpc-web request. Since `reader.cancel()` returns a promise, I...
Motivation: Resilience4j provides utility patterns that are useful especially for microservices. This PR attempts to integrate Resilience4j's circuit breaker utility into Armeria. Resilience4j's circuit breaker has slight nuances which are...
Currently, `JacksonRequestConverterFunction` throws an `IllegalArgumentException` (which is eventually converted to a 400 http status code) if an invalid `json` is received. https://github.com/line/armeria/blob/f9bde62868c76746e4cb1bd65c638af5a84a7c13/core/src/main/java/com/linecorp/armeria/server/annotation/JacksonRequestConverterFunction.java#L148 sample stacktrace ``` java.lang.IllegalArgumentException: failed to parse a...
Original inquiry: https://line-armeria.slack.com/archives/C1NGPBUH2/p1658326394645069 Currently, Armeria's `Server` accepts a supplier to generate a `RequestId`. https://github.com/line/armeria/blob/7395a2e76459798d0d7c4b6185923d37cb277a97/core/src/main/java/com/linecorp/armeria/server/ServerBuilder.java#L1677-L1686 However, some users may want to generate an id from an external component and use this...
Currently, `Unwrappable#unwrap` has the following method signature. https://github.com/line/armeria/blob/88e8d3e6bf7cd204af60166e49c36c8f18e2ea4e/core/src/main/java/com/linecorp/armeria/common/util/Unwrappable.java#L87-L89 However, @ikhoon made a good point that although the return type is `Unwrappable`, the object can't really be unwrapped. We may want...
Steps to reproduce 1. Compile a `.proto` file using the lite option 2. Add the stub to a service and run a server ``` 2020-09-28 10:02:08.579 WARN 66543 --- [entExecutor-3-1]...
`centraldogma` server uses `ForkJoinPool`'s common pool in certain locations e.g. https://github.com/line/centraldogma/blob/aa4b789f2714ec0742aa94d8c1709615e1b0e4f2/server/src/main/java/com/linecorp/centraldogma/server/internal/admin/auth/FileBasedSessionManager.java#L173 https://github.com/line/centraldogma/blob/aa4b789f2714ec0742aa94d8c1709615e1b0e4f2/server/src/main/java/com/linecorp/centraldogma/server/internal/api/ProjectServiceV1.java#L80 It might be better to avoid usage of common pool for... 1) Finer control over blocking task execution...
Currently, `CentralDogma` shuts down resources in the following order: 1. sessionManager 2. file channels 3. executors 4. the server https://github.com/line/centraldogma/blob/e93bc5a04eb3d38a0f315d9c5fdb0db3b0af1f52/server/src/main/java/com/linecorp/centraldogma/server/CentralDogma.java#L828-L832 As more long running tasks/repositories are added to `CentralDogma` (either...
When repositories are updated, the corresponding metadata is updated afterwards sequentially. https://github.com/line/centraldogma/blob/d596a340e68598afd981cfd8e3d18f34761f5eb9/server/src/main/java/com/linecorp/centraldogma/server/internal/api/RepositoryServiceV1.java#L125-L127 However, it is possible that operations on repository succeed, but operations on metadata fail. This scenario has two...
Related to #516 **Motivation** We often add logs to check if each watcher has called its notifiers successfully. Using meters should improve this since: 1) We can more easily visualize...