Finatra v18.3.0 Release Notes
-
โ Added
* ๐ inject-server: Add a lint rule in ``c.t.inject.server.TwitterServer#warmup``. If a server does not override the default implementation of ``TwitterServer#warmup`` a lint rule violation will appear on the lint page of the HTTP admin interface. ``PHAB_ID=D141267`` * inject-server: Add ``c.t.inject.server.TwitterServer#setup`` lifecycle callback method. This is run at the end of the ``postInjectorStartup`` phase and is primarily intended as a way for servers to start pub-sub components on which the server depends. Users should prefer this method over overriding the ``c.t.inject.server.TwitterServer#postWarmup`` @Lifecycle-annotated method as the callback does not require a call its super implementation for the server to correctly start and is ideally less error-prone to use. ``PHAB_ID=D135827`` * inject-app: Add ``c.t.inject.annotations.Flags#named`` for getting an implementation of an ``@Flag`` annotation. This is useful when trying to get or bind an instance of an ``@Flag`` annotated type. ``PHAB_ID=D140831`` ๐ Changed
finatra-http:
ReaderDiscarded
failures writing inc.t.f.http.StreamingResponse
now only log at the info level without a stack trace, while other failures log at the error level with a stacktrace.PHAB_ID=D141453
๐ inject-thrift-client: Removed
withBackupRequestFilter
method on deprecatedc.t.inject.thrift.filters.ThriftClientFilterChain
. Instead ofc.t.inject.thrift.modules.FilteredThriftClientModule
, usec.t.inject.thrift.modules.ThriftMethodBuilderClientModule
and use theidempotent
method onc.t.inject.thrift.ThriftMethodBuilder
to configure backup requests.PHAB_ID=D142049
.inject-app:
c.t.inject.annotations.FlagImpl
is no longer public and should not be used directly. Usec.t.inject.annotations.Flags#named
instead.PHAB_ID=D140831
๐ Fixed
* inject-thrift-client: Fix for duplicate stack client registration. The ``c.t.inject.thrift.modules.ThriftMethodBuilderClientModule`` was incorrectly calling the ``ThriftMux.client`` twice. Once to create a MethodBuilder and once to create a ServicePerEndpoint. Now, the ServicePerEndpoint is obtained from the configured MethodBuilder. ``PHAB_ID=D141304`` * inject-thrift-client: Convert non-camel case ``ThriftMethod`` names, e.g., "get\_tweets" to camelCase, e.g., "getTweets" for reflection lookup on generated ``ServicePerEndpoint`` interface in ``c.t.inject.thrift.ThriftMethodBuilder``. ``PHAB_ID=D138499`` Closed