question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Umbrella issue for 1.0.0

See original GitHub issue
  • More per-service settings with fluent route mapping. #1649
    • This revamps the routing and path mapping API to allow a non-annotated service to accept certain methods or media types.
    • Related: More convenient decoration #199 (w.r.t specifying multiple decorators)
    • Provide a way to configure content previewing to the specific service #1619
    • HTTP header/parameter-based path mapping #1207
  • Separate messages for AggregatedHttpMessage request / response #1702
  • Add a StreamMessage subscription option that notifies cancellation to onError() #1700
  • Add boolean shutdownOnStop parameter to ServerBuilder.blockingTaskExecutor() #1685
  • Immutable HttpHeaders and Cookies #1567
  • Make sure all safely retriable exceptions are wrapped by UnprocessedRequestException
    • Change to return UnprocessedRequestException in RetryingClient #1653
    • Wrap socket connect failures and more with UnprocessedRequestException
    • Make sure UnprocessedRequestException always has a cause.
    • Add a section about UnprocessedRequestException in RetryingClient documentation #1395
  • Provide a way to build a generic RetryStrategy. #1634
    • This may replace some static factory methods.
  • Make it more configurable to extract the client IP address behind reverse-proxies #1631
  • Decorate a service by path mapping #582
  • Create an abstraction for a LoggingContext containing request properties #1510
  • Difficult to request from an absolute URL with HttpClient #1143
  • Provide an extension point in LoggingClient/Service for constructing a log message #1103
    • Do a final review on the current way of message sanitization in LoggingClient/Service. Can we make it any better, especially in terms of performance and flexibility?
  • EndpointGroup design issues #1084
    • Disparity between HttpHealthCheckedEndpoint and HttpClient can be confusing. #1913
    • HealthCheckedEndpointGroup should probably wait for connectTimeout before throwing exception. #1910
  • A user may get the wrong RequestContext when contexts are nested #1083
  • Allow resetting the request timeout with the same value #740
  • Revisit the blockingTaskExecutor-related API
    • Make a blockingTaskExecutor a SchedulerExecutorService. #2269
    • Make ServerConfig.blockingTaskExecutor context-aware #46
  • Revisit ServiceRequestContext.logger(). Do we really need it?
  • Tidy up the API
    • Remove all deprecated elements
    • Check all services and clients with public constructors.
      • Avoid exposing public constructors; provide a builder and/or factory methods, unless it is very simple.
  • Remove HttpData.offset / length? #1771
  • Provide a utility class for extracting HTTP parameters #1862
    • Consider multipart request in advance, although we don’t need to implement it in 1.0.
  • Tidy up the build process for backward compatibility
    • Consider adopting NullAway into the build process #1680
    • Fail the build if API compatibility is broken
  • Make sure all examples have a Main class and are runnable from Gradle.
    • :examples:annotated-http-service does not have a main class. #1647
  • Clear out all remaining discussions
    • Using ‘builder()’ factory method instead of constructor #1719
  • Add new aliases(get|post|head..) for (doGet|doPost|doHead..) methods in AbstractHttpService #1923

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:10
  • Comments:6 (1 by maintainers)

github_iconTop GitHub Comments

2reactions
minwooxcommented, Apr 9, 2019

Currently, we use RpcXX classes such as RpcRequest, RpcResponse, RpcService, RpcClient, etc. for Thrift only. Because the name includes Rpc, the users expect that the gRPC module uses the same classes which is not true and they usually end up with a surprise.

I wonder if we have to address this issue which will bring a lot of API changes before 1.0.0. These are some of the ways that I can think of to solve that:

  • Rename the RpcXX classes to ThriftXX to distinguish Thrift and gRPC.
    • The easiest way. There are not so many changes except just names.
  • Abstract RpcRequest and RpcResponse use them in Thrift and gRPC together.
    • I’m not even sure if it’s possible also if it’s a good idea. gRPC uses ClientCall, ServerCall and listener for sending request and receiving response. gRPC supports streaming and Thrift doesn’t. Because nature is different, it could harm Armeria and make it worse to use.
  • Just leave it as it is since no one complains about it.

These are just my improvisatory thought and please give an idea if you have. /cc @anuraaga

1reaction
trustincommented, Apr 9, 2019

Consider deprecating *RegistrationBeans in Spring integration module and let users use the configurator which gives the most freedom. WDYT, @imasahiro @kojilin ?

Read more comments on GitHub >

github_iconTop Results From Across the Web

1.0.0 - No Umbrellas Allowed - Steam News
Hoochoo Game Studios brings you 1.0.0 release notes.
Read more >
Open Source Used In Umbrella - Virtual Appliance 3.1.x - Cisco
This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in...
Read more >
NEWS
metaumbrella 1.0.5. Fixed some bugs preventing to use all functions in the app and jamovi module. metaumbrella 1.0.4. Three new effect size measures...
Read more >
How to Release - Apache Software Foundation
The time for the day the umbrella issue is created to the release branch point must be at least two weeks in order...
Read more >
A volcanic columns and umbrella cloud spreading model - GMD
PLUME-MoM-TSM 1.0.0: A volcanic columns and umbrella cloud ... variability in size, computational problems arise in the modeling of aggregation processes,.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found