[ https://issues.apache.org/jira/browse/MAILBOX-253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tellier Benoit updated MAILBOX-253: ----------------------------------- Description: Mailbox implementations needed for JAMES-1623 I introduced a new module for hystrix mailbox. Implementation is made at the mapper level, and wraps a MailboxSessionMapperFactory. Quota stuff is also handled. Idem for Subscriptions and search indexes. was: Hystrix is a Netflix developped librairy for fault tolerance in distributed instances. It provides automatic circuit breaking, meaning that your underlying database can not be overloaded, leading to a crash. (Same thing for ElasticSearch, by the way). It also allows fallback if circuit is closed. Finally, it allows live metrics on a dashboard. And on top of that behaviour of hystrix is live configurable! My point of view about this librairy, is that : - It will help sysadmins to diagnose problems and design for their load. - It will help us (James developpers) to identify hotspots in the code and maybe design better interaction with our underlying data source. - It will make James more resiliant to failures. I conseder external IO to be : - MessageMapper and MailboxMapper from mailbox - Search indexes from mailbox - data-* - quotas from mailbox I already have working implementations for all of those and strong mocked unit tests. Acceptance criteria : - whatever implementation I choose for each component, I can enable hystrix wrapping by a single configuration line. - provide MPT testing on top of memory implementation - publish metrics to be accessible with a hystrix dashboard ( if I have time ) - provide a video of the dashboard - modify documentation about configuration changes. Blocking point : - Implementing Hystrix wrapping is trivial and non invasive - Implementing configuration should be straight forward - I will have troubbles with servlets (needed to publish metrics). I was thinking to jetty, but I have strictly no idea how to deploy it ( and their doc seems like a mess). Any help appreciated ! > Provide the option to use Hystrix on top of all IO operations > ------------------------------------------------------------- > > Key: MAILBOX-253 > URL: https://issues.apache.org/jira/browse/MAILBOX-253 > Project: James Mailbox > Issue Type: New Feature > Reporter: Tellier Benoit > > Mailbox implementations needed for JAMES-1623 > I introduced a new module for hystrix mailbox. > Implementation is made at the mapper level, and wraps a > MailboxSessionMapperFactory. > Quota stuff is also handled. Idem for Subscriptions and search indexes. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org