Commit Graph

17 Commits

Author SHA1 Message Date
Chris Eager
a70b057e1c Add second (migration) database to AbusiveHostRules 2021-12-08 12:46:05 -08:00
Jon Chambers
3b764bed7a Make DynamicConfigurationManager generic 2021-10-19 11:52:29 -04:00
Chris Eager
51b7a8d868 Add excluded E164s configuration to pre-registration experiment 2021-07-29 14:16:40 -05:00
Chris Eager
ad838b4827 Add isEnrolled(e164, experiment) for pre-registration experiments 2021-03-16 13:09:10 -05:00
Chris Eager
152c927929 Reformat to match EditorConig 2021-03-16 13:09:10 -05: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
35fc98a188 Add an experiment enrollment manager. 2021-02-01 11:08:16 -05:00
Ehren Kret
604287244f Update copyright statement on all source files
IntelliJ Copyright Profile used to automate this.
2020-11-04 11:55:35 -05:00
Jon Chambers
56b27ea785 Record experiment outcomes with timers instead of counters. 2020-08-25 10:57:44 -04:00
Jon Chambers
639898ec07 Expand Experiment to deal with async suppliers and Optionals. 2020-07-30 11:39:14 -04:00
Jon Chambers
dcb11f7606 Log errors from experiments. 2020-07-07 15:17:25 -04:00
Jon Chambers
6adcebb247 Return to just using counters instead of timers for measuring experiment outcomes. 2020-06-17 15:34:02 -04:00
Jon Chambers
a0bebca1e6 Extend Experiment to report more detail when results don't match. 2020-06-16 16:46:41 -04:00
Jon Chambers
f701e3d834 Record distributions of timer values; stop recording error causes. 2020-06-11 11:50:36 -04:00
Jon Chambers
0671f05c05 Introduce experiment comparison methods for suppliers. 2020-06-11 11:50:36 -04:00
Jon Chambers
0713da7393 Record experiment results with a timer instead of a counter. 2020-06-11 11:50:36 -04:00
Jon Chambers
c2a4a2778e Introduce the Experiment class to compare results from parallel systems. 2020-06-07 18:27:11 -04:00