Results 61 issues of 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...

new feature

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...

defect

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...

new feature

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...

discussion

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]...

defect

`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...

new feature