Commit Graph

49 Commits

Author SHA1 Message Date
Chris Eager 447fba1594 Update to the latest version of libphonenumber 2021-02-19 13:30:16 -06:00
Ehren Kret 0dcb4b645c
Build Dynamo DB backed Message Store (#358)
* Work in progress...

* Finish first pass draft of MessagesDynamoDb

* Use begins_with everywhere for destination device id

* Remove now unused methods

* First basic test built

* Add another test case

* Remove comment

* Verify more of the message contents

* Ensure all methods are tested

* Integrate MessagesDynamoDb into the MessagesManager

This change plugs the MessagesDynamoDb class into the live serving
flow in MessagesManager.

Tests are not yet as comprehensive for this big a change as they
should be, but they now compile and pass so checkpointing here with a
commit.

* Put DynamoDB before RDBS when deleting specific messages

* Extract method

* Make aws sdk version into a property

* Rename clientBuilder

* Discard messages with no GUID

* Unify batching logic into one function

* Comment on the source of the value in this constant

* Inline method

* Variable name swizzle

* Add timers to all public methods

* Add missing return statements

* Reject messages that are too large with response code 413

* Add configuration to control dynamo DB timeouts

* Set server timestamp from the ReceiptSender

* Change to shorter key names to optimize IOPS

* Fix tests broken by changing column names

* Fix broken copyright template output

* Remove copyright template error text

* Add experiments to control use of dynamo and rds in message storage

* Specify instance profile credentials for the dynamic configuration manager

* Use property for aws sdk version

* Switch dynamo to instance profile credentials

* Add metrics to the batch write loop

* Use placeholders in logging
2021-02-03 10:03:19 -06:00
Jon Chambers fc4c8d6054 Update to the latest version of libphonenumber. 2021-02-01 21:25:14 -05:00
Moxie Marlinspike 92f6a79e1f
Add a dynamic configuration manager 2021-02-01 11:01:58 -05:00
Jon Chambers 217d270457 Update to Lettuce 6.0.1. 2020-11-13 10:50:21 -05:00
Jon Chambers 143b6f0df1 Revert "Add a debug version of Lettuce to track down the cause of https://github.com/lettuce-io/lettuce-core/issues/1494."
This reverts commit 4d5fbec5a5.
2020-11-13 10:50:21 -05:00
Jon Chambers 4d5fbec5a5 Add a debug version of Lettuce to track down the cause of https://github.com/lettuce-io/lettuce-core/issues/1494. 2020-11-10 11:45:46 -05:00
Jon Chambers fb2baad7cc Restore netty-tcnative. 2020-10-28 12:29:30 -04:00
Jon Chambers 169c3d5a0f Update to Pushy 0.14.2. 2020-10-21 15:20:36 -04:00
Jon Chambers 9cffbe3d49 Drop netty-tcnative-boringssl-static as a dependency. 2020-10-21 15:20:36 -04:00
Jon Chambers 1a57d4fe11 Update to Lettuce 6. 2020-10-20 18:59:26 -04:00
Jon Chambers b041fbe3ec Add semver4j as a dependency. 2020-09-21 12:24:08 -04:00
Jon Chambers 25f3c6a548 Drop our dependency on commons-pool. 2020-09-03 11:05:10 -04:00
Jon Chambers a709a3bcc0 Remove a candidate metric provider. 2020-08-20 15:40:56 -04:00
Jon Chambers 6fb9038af1 Move to a synchronous, pooled connection model for Redis clusters. 2020-08-14 17:15:56 -04:00
Jon Chambers f3a34990ab Update to Lettuce 5.3.3. 2020-08-12 16:57:23 -04:00
Jon Chambers 30948de13d Update a metric provider dependency and remove a workaround for an upstream issue. 2020-08-11 11:02:38 -04:00
Jon Chambers 58e58ce51c Remove a candidate metric provider. 2020-08-10 11:03:20 -04:00
Ehren Kret ea00224e7f
Add support for reporting metrics to signalfx (#129) 2020-08-07 11:10:31 -05:00
Jon Chambers 6fc1b4c6c0 Add a cluster-backed message cache. 2020-07-30 11:39:14 -04:00
Jon Chambers b9cfac5934 Introduce additional metric aggregators. 2020-07-28 15:11:51 -04:00
Jon Chambers acbe410e0b Remove a metric aggregator. 2020-07-27 12:50:49 -04:00
Jon Chambers ec072fd639 Update telemetry dependencies and resolve dependency conflicts. 2020-07-24 18:59:35 -04:00
Jon Chambers 67b03076d7 Add a missing dependency. 2020-07-24 17:21:56 -04:00
Jon Chambers 33a0c4a9ae Use first party metric aggregator libraries where possible. 2020-07-24 17:21:56 -04:00
Jon Chambers 403aa5fd3e Add dependencies for additional metric aggregators. 2020-07-23 13:31:19 -04:00
Jon Chambers f5ddb0f1f8 Test ClusterLuaScript against a real Redis cluster. 2020-07-02 18:58:30 -04:00
Jon Chambers fe1054d58a Introduce a Lettuce-based fault-tolerant Redis cluster accessor. 2020-06-06 20:37:48 -04:00
Jon Chambers ba6ac778fc Update to Pushy v0.14.1. 2020-06-05 12:21:56 -04:00
Jon Chambers 45ad8f8ffb Add the Wavefront/Micrometer reporter as a dependency and configure a registry. 2020-05-20 17:46:07 -04:00
Jon Chambers acfbab5915 Update to Pushy v0.13.11. 2020-05-04 17:50:35 -04:00
Moxie Marlinspike fa739c9594 Bump zkgroups to 0.7.0 2020-04-28 08:58:57 -07:00
Moxie Marlinspike 6a11501184 Bump zkgroups to 0.6.0 2020-04-20 13:41:54 -07:00
Moxie Marlinspike c03fd4645d Bump zkgroups to 0.5.0 2020-04-09 20:36:34 -07:00
Moxie Marlinspike b76c7a4824 Update zkgroups to 0.4.2 2020-04-09 11:21:58 -07:00
Moxie Marlinspike 3b1672a4a7 Update zkgroups to 0.4.0 2020-03-14 16:30:13 -07:00
Moxie Marlinspike 009f81a9a6 Update to dropwizard 2.x 2020-03-14 16:30:13 -07:00
Moxie Marlinspike 1d76c644cb Update version of embedded pg 2020-01-21 13:03:55 -08:00
Moxie Marlinspike ba3102d667 Support for versioned profiles
Includes support for issuing zkgroup auth credentials
2020-01-21 11:04:06 -08:00
Moxie Marlinspike 940bd55079 Update libphonenumber to 8.11.0 2019-12-18 17:32:39 -08:00
Moxie Marlinspike a8c932ffe4 Update dropwizard to 1.3.16 2019-10-30 19:32:40 -07:00
Moxie Marlinspike 7a3a385569 Support for UUID based addressing 2019-08-26 11:09:54 -07:00
Moxie Marlinspike f56d219882 Update dropwizard to 1.3.12 2019-06-11 09:29:30 -07:00
Moxie Marlinspike 105a38a7db Update gcm-sender-async to use jdk11 httpclient 2019-05-30 10:46:40 -07:00
Moxie Marlinspike e6f25b9c5e Bring gcm-sender-async in as a module 2019-05-29 11:03:33 -07:00
Moxie Marlinspike d72828b3f4 Fix assembly for multi-module 2019-05-01 14:02:18 -07:00
Moxie Marlinspike 9220f4d829 Add websocket-resources as a module 2019-05-01 13:19:15 -07:00
Moxie Marlinspike 66917cd2c0 Add some dependency exclusions 2019-05-01 13:19:15 -07:00
Moxie Marlinspike d0d375aeb7 Break out into a multi-module project 2019-05-01 13:19:11 -07:00