- Passing execution errors to fallback
- Upgrading to Jetty 9.4.1.v20170120
- Included snapshot version fixes
- Upgrade to Hystrix 1.5.8
- Customizable core and max thread pool sizes for Task
- Included snapshot version fixes
- Non blocking http and thrift proxy
- Using fasterxml jackson consistently
- Included snapshot version fixes
- Upgrade to Trooper 2.0.1 to remove a bottleneck in event publishing
- Generic params in TaskHandler's execute
- Zipkin headers ingestion for TaskHandlers
- Included snapshot version fixes
- ZipkinSpanCollectorParams failOnSetup is configurable
- Bug fix: Fix for ConcurrentModificationException during shutdown
- Included snapshot version fixes
- JSON serialization of TaskResult data in command protocol
- Upgrade to Trooper 2.0.0
- Support generic return type in TaskHandler's execute
- Bug fix: Fix for closing connection/release resources in case of Hystrix timeouts
- Included snapshot version fixes
- Bug fix: Fix for IllegalStateException in ClientRequestInterceptor
- Bug fix: Trace/span ids in hex are now reliably converted to 64 bits
- Fixed TCPNettyServer to use worker thread count, if specified
- Upgrade to Spring 4.x
- Bug fix to Http proxy to return response content length
- Task interface change to support generic return type, not just byte array
- Upgrade to Spring 4.x
- Fixed bug in async execution that was causing sync execution
- Fixes related to distributed tracing
- Upgrade to Jetty 9.x
- Upgrade snapshot to release
- Upgrading to Trooper 1.3.2 release
- Upgrade to Jetty 9
- Upgrading snapshot to release version
- Bug fix for service request logger
- Dependencies cleanup
- Hystrix metrics snapshot servlet enhancements
- Added Zipkin distributed tracing support.
- Metrics snapshot with configurable frequency. Useful when pushing service metrics to time series databases
- Added support for parallel init for Task handlers
- Upgrade to Trooper 1.3.2-SNAPSHOT version
- Bug fix for logging handler execution warnings and errors
- RequestCacheableHystrixTaskHandler.getCacheKey() also receives data
- Handlers can now veto or allow container init to continue
- Support for re-loading handlers via REST call
- Added Request caching support to TaskHandlers
- Added Decoder for clients to be able to decode the response with default implementation as ByteArrayDecoder
- Templatized TaskResult
- Cleanup stupid shitty code of SystemUtils and StringUtils
- Moved to jackson mapper 2.x
- Adding support for setting Max concurrency for semaphore isolated requests
- exposing timeToLive for socket in HttpConnectionPool
- Adding empty "openCircuitHostNames" if circuit is closed
- adding snapshot servlet for service proxy instrumentation
- Bug Fixes:
- Incorrect Logging of failed events in RequestLogged for async commands.
- Upgrade to Hystrix 1.4.0-RC4
- Externalized dashboard thread settings to configurations
- Customized Hystrix Metrics Puller and Stream Servlet to report short-circuited host names
- Decreased default timeout of Hysterix TaskHandlers to 1 sec from 10 sec.
- Bug Fixes:
- Fixes for PUT request when headers are forwarded.
- Introduce Common Proxy Handler Config which can be used to load handlers which should be loaded first.
- Better fallback handling in Thrift and Http proxies, empty response for timeout Http requests
- Changed command name being published for Thrift Handlers. Uncommented sending of profiling metrics.
- Added RequestId, Execution time to ServiceProxyEvent. RequestLogger now logs added fields.
- Refactoring ThriftProxy ,ThriftExecutor classes
- Upgrade to Trooper 1.3.0 and therefore to Spring 3.2.5.RELEASE
- Bug Fixes:
- Selective ability to pass request headers to down-stream http services. Issue #5
- Bug Fixes:
- Ability to pass request headers to down-stream http services
- Bug Fixes:
- Removing casting of executor repositories which made the abstraction logic obsolete
- Adding getHostName method in task context
- New Features:
- Abstraction of Executor and Executor Repository.
- Event publish/consumption frame-work for request
- Bug fixes:
- Making sure the task repository is set on the singleton task context
- Allowing _ in valid command names
- Bug fixes:
- Single task handler executor repository and task handler registry initialization in common-beans-context
- UI fixes for dashboard
- Initializing all listener servers at the end
- New features:
- Support for async execution of commands
- Support for thrift method level timeouts and thread pools in Thrift proxy
- New features:
- Task module that defines API interfaces for writing proxy handlers
- Runtime module that manages deployed proxy handlers and socket listeners
- Netty based socket listeners for TCP/IP and UDS(Unix domain sockets)
- Independent UDS transport for Netty (may be used outside of Phantom)
- Codecs for Http and Thrift (available as optional modules)
- Integrated Hystrix dashboard via embedded Jetty in Runtime module
- Configuration console for editing proxy handler properties
- Sample projects introducing Phantom capabilities
- **Docs changes:** - https://github.com/Flipkart/phantom/wiki/Maven-dependencies [Info on Maven settings for building/using Phantom] - https://github.com/Flipkart/phantom/wiki/Getting-started [Getting started with examples]