summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Expand)AuthorAgeFilesLines
* Support pagination for tokens without chunk part github/erikj/chunks_pagination_token erikj/chunks_pagination_tokenErik Johnston2018-06-051-7/+30
* Remove spurious conditionalErik Johnston2018-06-011-2/+2
* Remove spurious breakErik Johnston2018-06-011-3/+0
* Use *rowErik Johnston2018-06-011-2/+2
* Reuse stream_ordering attribute instead of orderErik Johnston2018-06-011-8/+3
* Don't drop topo ordering when there is no chunk_idErik Johnston2018-06-011-1/+1
* Comment on stream vs topological vs depth ordering in schemaErik Johnston2018-06-011-0/+5
* Implement pagination using chunksErik Johnston2018-05-311-16/+107
* Use calculated topological ordering when persisting eventsErik Johnston2018-05-311-4/+5
* Add chunk ID to pagination tokenErik Johnston2018-05-311-38/+70
* Rename func to _insert_into_chunk_txnErik Johnston2018-05-301-6/+5
* Remove unnecessary COALESCEErik Johnston2018-05-301-2/+2
* CommentsErik Johnston2018-05-301-4/+4
* Just iterate once rather than create a new setErik Johnston2018-05-301-13/+6
* Remove redundant conditionsErik Johnston2018-05-301-10/+9
* Remove unnecessary setErik Johnston2018-05-301-1/+1
* Correctly loop over events_and_contextsErik Johnston2018-05-301-16/+14
* Compute new chunks for new eventsErik Johnston2018-05-252-6/+203
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/room_chunksErik Johnston2018-05-259-34/+54
|\
| * Merge pull request #3279 from NotAFile/py3-more-iteritemsAmber Brown2018-05-241-4/+6
| |\
| | * more iteritemsAdrian Tschira2018-05-241-4/+6
| * | Misc. py3 fixesAdrian Tschira2018-05-243-3/+3
| |/
| * Merge pull request #3278 from NotAFile/py3-storage-baseAmber Brown2018-05-241-17/+22
| |\
| | * Py3 storage/_base.pyAdrian Tschira2018-05-241-17/+22
| * | Merge pull request #3244 from NotAFile/py3-six-4Amber Brown2018-05-244-9/+16
| |\ \
| | * | replace some iteritems with sixAdrian Tschira2018-05-194-9/+16
| * | | Merge pull request #3247 from NotAFile/py3-miscAmber Brown2018-05-241-1/+7
| |\ \ \ | | |_|/ | |/| |
| | * | use stand-in value if maxint is not availableAdrian Tschira2018-05-191-1/+7
| | |/
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/room_chunksErik Johnston2018-05-236-49/+135
|\| |
| * | Remove unused string formatting paramErik Johnston2018-05-221-1/+0
| * | Don't support limitless paginationErik Johnston2018-05-221-8/+6
| * | Send users a server notice about consentRichard van der Hoff2018-05-222-7/+59
| * | Tighter filtering for user_daily_visitsNeil Johnson2018-05-181-1/+5
| |/
| * fix psql compatability bugNeil Johnson2018-05-181-1/+1
| * Merge pull request #3235 from matrix-org/rav/fix_receipts_deferredRichard van der Hoff2018-05-181-7/+11
| |\
| | * Fix error in handling receiptsRichard van der Hoff2018-05-181-7/+11
| * | Merge pull request #3221 from matrix-org/erikj/purge_tokenErik Johnston2018-05-181-24/+53
| |\ \ | | |/ | |/|
| | * Clarify commentErik Johnston2018-05-161-1/+2
| | * CommentsErik Johnston2018-05-161-0/+8
| | * Move and rename variableErik Johnston2018-05-161-3/+3
| | * Make purge_history operate on tokensErik Johnston2018-05-151-8/+9
| | * Use events_to_purge table rather than tokenErik Johnston2018-05-151-15/+34
* | | CommentsErik Johnston2018-05-181-14/+16
* | | More commentsErik Johnston2018-05-171-4/+14
* | | Document case of unconnected chunksErik Johnston2018-05-171-0/+4
* | | Make insert_* functions internal and reorder funcsErik Johnston2018-05-171-2/+2
* | | Increase range of rebalance intervalErik Johnston2018-05-171-7/+3
* | | Improve documentation and commentsErik Johnston2018-05-171-2/+11
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/chunk_baseErik Johnston2018-05-177-4/+212
|\| |
| * | Merge pull request #3212 from matrix-org/erikj/epa_streamErik Johnston2018-05-172-38/+16
| |\ \
| * \ \ Merge pull request #3163 from matrix-org/cohort_analyticsNeil Johnson2018-05-165-5/+113
| |\ \ \
| | * | | remove empty lineNeil Johnson2018-05-161-1/+0
| | * | | style and further contraining queryNeil Johnson2018-05-161-8/+12
| | * | | Limit query load of generate_user_daily_visitsNeil Johnson2018-05-151-13/+47
| | * | | instead of inserting user daily visit data at the end of the day, instead ins...Neil Johnson2018-05-141-40/+14
| | * | | Merge branch 'develop' of https://github.com/matrix-org/synapse into cohort_a...Neil Johnson2018-05-1410-290/+380
| | |\ \ \
| | * | | | remove user agent from data model, will just join on user_ipsNeil Johnson2018-05-011-12/+11
| | * | | | add inidexes based on usageNeil Johnson2018-05-011-6/+2
| | * | | | pep8Neil Johnson2018-04-251-3/+4
| | * | | | Generate user daily statsNeil Johnson2018-04-255-5/+106
| * | | | | Merge pull request #3213 from matrix-org/rav/consent_handlerRichard van der Hoff2018-05-162-0/+36
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | |
| | * | | | ConsentResource to gather policy consent from usersRichard van der Hoff2018-05-152-0/+36
| | | |/ / | | |/| |
| * | | | Merge pull request #3201 from matrix-org/dbkr/leave_rooms_on_deactivateDavid Baker2018-05-142-0/+64
| |\ \ \ \ | | |/ / / | |/| | |
| | * | | Many docstringsDavid Baker2018-05-101-0/+12
| | * | | Add the schema fileDavid Baker2018-05-091-0/+25
| | * | | Part deactivated users in the backgroundDavid Baker2018-05-091-0/+27
* | | | | Begin adding implementing room chunksErik Johnston2018-05-174-1/+357
| |_|_|/ |/| | |
* | | | Use stream rather depth ordering for push actionsErik Johnston2018-05-112-38/+16
|/ / /
* | | Merge pull request #3199 from matrix-org/erikj/pagination_syncErik Johnston2018-05-091-39/+36
|\ \ \
| * | | Refactor sync APIs to reuse pagination APIErik Johnston2018-05-091-38/+35
| * | | Don't unnecessarily require token to be stream tokenErik Johnston2018-05-091-1/+1
* | | | Merge pull request #3198 from matrix-org/erikj/fixup_return_paginationErik Johnston2018-05-091-1/+15
|\ \ \ \
| * | | | Fix up commentErik Johnston2018-05-091-1/+1
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/fixup_retu...Erik Johnston2018-05-091-5/+6
| |\ \ \ \ | | |/ / / | |/| | |
| * | | | Refactor get_recent_events_for_room return typeErik Johnston2018-05-091-1/+15
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/remove_mem...Erik Johnston2018-05-091-5/+6
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Update commentsErik Johnston2018-05-091-5/+6
| |/ / /
* / / / Remove unused code path from member change DB funcErik Johnston2018-05-091-24/+10
|/ / /
* | | Refactor pagination DB API to return concrete typeErik Johnston2018-05-091-28/+48
* | | Remove unused from_token paramErik Johnston2018-05-091-7/+4
* | | Refactor recent events func to use pagination funcErik Johnston2018-05-091-48/+27
* | | Fix up comments and make function privateErik Johnston2018-05-091-7/+7
* | | Reuse existing pagination code for context APIErik Johnston2018-05-081-75/+15
* | | Parse tokens before calling DB functionErik Johnston2018-05-081-14/+18
* | | Only fetch required fields from databaseErik Johnston2018-05-081-1/+2
* | | Split paginate_room_events storage functionErik Johnston2018-05-081-28/+72
|/ /
* | Merge pull request #3141 from matrix-org/erikj/fixup_stateErik Johnston2018-05-031-37/+67
|\ \
| * | Fix up grammarErik Johnston2018-05-031-3/+3
| * | Refactor event storage to not require stateErik Johnston2018-04-271-37/+67
* | | Merge pull request #3129 from matrix-org/matthew/fix_group_dupsMatthew Hodgson2018-04-301-0/+57
|\ \ \
| * | | fix missing importMatthew Hodgson2018-04-281-0/+1
| * | | pep8Matthew Hodgson2018-04-281-3/+5
| * | | make it work with sqliteMatthew Hodgson2018-04-282-34/+54
| * | | remove duplicates from groups tablesMatthew Hodgson2018-04-251-0/+34
| | |/ | |/|
* | | Merge branch 'develop' into py3-xrange-1Richard van der Hoff2018-04-302-4/+6
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/develop' into rav/use_run_in_backgroundRichard van der Hoff2018-04-272-8/+18
| |\ \ \
| * | | | Use run_in_background in preference to preserve_fnRichard van der Hoff2018-04-272-4/+6
| | |_|/ | |/| |
* | | | Move more xrange to sixAdrian Tschira2018-04-284-4/+12
| |/ / |/| |
* | | Merge pull request #3138 from matrix-org/rav/catch_unhandled_exceptionsRichard van der Hoff2018-04-271-7/+17
|\ \ \
| * | | Improve exception handling for background processesRichard van der Hoff2018-04-271-7/+17
| |/ /
* / / Add missing consumeErrorsRichard van der Hoff2018-04-271-1/+1
|/ /
* | Fix media admin APIsErik Johnston2018-04-261-2/+2
* | Also fix reindexing of searchErik Johnston2018-04-251-1/+1
* | Fix quarantine media admin APIErik Johnston2018-04-251-1/+1
|/
* Merge pull request #3110 from NotAFile/py3-six-queueRichard van der Hoff2018-04-201-2/+4
|\
| * Replace Queue with six.moves.queueAdrian Tschira2018-04-161-2/+4
* | Merge pull request #3117 from matrix-org/rav/refactor_have_eventsRichard van der Hoff2018-04-201-7/+42
|\ \
| * | Refactor store.have_eventsRichard van der Hoff2018-04-201-7/+42
| |/
* / Avoid creating events with huge numbers of prev_eventsRichard van der Hoff2018-04-161-16/+41
|/
* Format docstringErik Johnston2018-04-121-2/+3
* Doc we raise on unknown eventErik Johnston2018-04-121-2/+3
* Track last processed event received_tsErik Johnston2018-04-111-0/+18
* Track where event stream processing have gotten up toErik Johnston2018-04-111-0/+3
* Merge pull request #2760 from Valodim/pypyRichard van der Hoff2018-04-112-1/+6
|\
| * Fix pep8 error on psycopg2cffi hackRichard van der Hoff2018-04-101-6/+5
| * Use psycopg2cffi module instead of psycopg2 if running on pypyVincent Breitmoser2018-04-102-2/+8
* | fix typoNeil Johnson2018-04-101-2/+2
* | remove errant print v0.27.3-rc2Neil Johnson2018-04-091-1/+1
* | Fix msec to sec, againNeil Johnson2018-04-091-3/+3
* | Fix msec to secNeil Johnson2018-04-091-1/+1
* | Fix psycopg2 interpolationNeil Johnson2018-04-091-5/+5
|/
* Don't use redundant inlineCallbacksLuke Barnard2018-04-061-4/+1
* join_rule -> join_policyLuke Barnard2018-04-061-1/+1
* is_joinable -> join_ruleLuke Barnard2018-04-061-4/+1
* pep8David Baker2018-04-061-1/+2
* Implement group join APIDavid Baker2018-04-061-3/+9
* Merge pull request #3045 from matrix-org/dbkr/group_joinableLuke Barnard2018-04-053-0/+42
|\
| * NON NULL -> NOT NULLLuke Barnard2018-04-051-1/+1
| * Use DEFAULT join_policy of "invite" in dbLuke Barnard2018-04-051-1/+1
| * Document set_group_join_policyLuke Barnard2018-04-051-0/+6
| * Use join_policy API instead of joinableLuke Barnard2018-04-032-4/+10
| * OK, smallint it is thenDavid Baker2018-03-281-1/+1
| * Grr. Copy the definition from is_adminDavid Baker2018-03-281-1/+1
| * Make column definition that works on both dbsDavid Baker2018-03-281-1/+1
| * Add schema delta fileDavid Baker2018-03-281-0/+16
| * Add joinability for groupsDavid Baker2018-03-282-1/+15
* | Merge pull request #3041 from matrix-org/r30_statsNeil Johnson2018-04-054-7/+111
|\ \
| * | Review commentsNeil Johnson2018-04-051-4/+5
| * | pep8Neil Johnson2018-03-291-2/+4
| * | Remove need for sqlite specific queryNeil Johnson2018-03-291-30/+57
| * | fix pep8 errorsNeil Johnson2018-03-281-3/+0
| * | remove twisted deferral cruftNeil Johnson2018-03-281-6/+3
| * | bump schema versionNeil Johnson2018-03-281-1/+1
| * | Support multi client R30 for psqlNeil Johnson2018-03-281-8/+28
| * | Add user_ips last seen indexNeil Johnson2018-03-282-0/+24
| * | No need to cast in count_daily_usersNeil Johnson2018-03-281-2/+2
| * | query and call for r30 statsNeil Johnson2018-03-281-0/+36
| * | count_daily_users failed if db was sqlite due to type failure - presumably th...Neil Johnson2018-03-281-1/+1
| |/
* | Merge pull request #3060 from matrix-org/rav/kill_event_contentRichard van der Hoff2018-04-053-7/+12
|\ \
| * | Remove uses of events.contentRichard van der Hoff2018-03-293-7/+12
* | | Merge pull request #3049 from matrix-org/rav/use_staticjsonRichard van der Hoff2018-04-031-15/+8
|\ \ \
| * | | Use static JSONEncodersRichard van der Hoff2018-03-291-15/+8
| |/ /
* / / Use simplejson throughoutRichard van der Hoff2018-03-291-1/+2
|/ /
* | Fix search_user_dir multiple sqlite versions do different thingsNeil Johnson2018-03-281-2/+2
* | Merge pull request #3029 from matrix-org/erikj/linearize_generate_user_idErik Johnston2018-03-281-3/+1
|\ \
| * | Don't use _cursor_to_dict in find_next_generated_user_id_localpartErik Johnston2018-03-261-3/+1
| |/
* | Merge pull request #3030 from matrix-org/erikj/no_ujsonErik Johnston2018-03-281-1/+1
|\ \
| * | Remove last usage of ujsonErik Johnston2018-03-261-1/+1
| |/
* | CommentErik Johnston2018-03-271-4/+5
* | Fix indentErik Johnston2018-03-271-1/+1
* | CommentErik Johnston2018-03-271-0/+7
* | Add counter metrics for calculating state deltaErik Johnston2018-03-271-1/+30
|/
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-1917-26/+25
|\
| * Remove wrong commentErik Johnston2018-03-161-1/+0
| * Replace ujson with simplejsonErik Johnston2018-03-1517-26/+26
* | Replace some ujson with simplejson to make it workErik Johnston2018-03-162-2/+2
* | Merge pull request #2988 from matrix-org/erikj/split_profile_storeErik Johnston2018-03-141-24/+26
|\ \
| * | Split up ProfileStoreErik Johnston2018-03-131-24/+26
* | | Merge pull request #2993 from matrix-org/erikj/is_blockedErik Johnston2018-03-141-13/+17
|\ \ \
| * | | Add is_blocked to worker storeErik Johnston2018-03-131-13/+17
| |/ /
* / / fix bug #2926 (loading all state for a given type from the DB if the state_ke...Matthew Hodgson2018-03-131-7/+27
|/ /
* | Add Measure block for persist_eventsRichard van der Hoff2018-03-131-4/+5
* | Fix race in sync when joining roomErik Johnston2018-03-072-2/+27
* | Merge pull request #2946 from matrix-org/rav/timestamp_to_purgeRichard van der Hoff2018-03-061-0/+27
|\ \
| * | Provide a means to pass a timestamp to purge_historyRichard van der Hoff2018-03-051-0/+27
* | | Merge pull request #2948 from matrix-org/erikj/kill_as_syncErik Johnston2018-03-062-153/+5
|\ \ \
| * | | Remove ability for AS users to call /events and /syncErik Johnston2018-03-052-153/+5
* | | | Merge pull request #2947 from matrix-org/erikj/split_directory_storeErik Johnston2018-03-051-23/+27
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix cache invalidation on deletionErik Johnston2018-03-051-1/+4
| * | | Split Directory storeErik Johnston2018-03-051-22/+23
| |/ /
* | | Merge pull request #2943 from matrix-org/rav/fix_find_first_stream_ordering_a...Richard van der Hoff2018-03-051-12/+71
|\ \ \ | |/ / |/| |
| * | Test and fix find_first_stream_ordering_after_tsRichard van der Hoff2018-03-051-15/+53
| * | Add find_first_stream_ordering_after_tsRichard van der Hoff2018-03-051-0/+21
* | | Merge pull request #2934 from matrix-org/erikj/cache_fixErik Johnston2018-03-052-13/+15
|\ \ \
| * | | Fix bug with delayed cache invalidation streamErik Johnston2018-03-022-13/+15
* | | | Split registration storeErik Johnston2018-03-021-57/+61
|/ / /
* | | Merge pull request #2925 from matrix-org/erikj/split_sig_fedErik Johnston2018-03-012-133/+143
|\ \ \ | |/ / |/| |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_sig_fedErik Johnston2018-03-014-371/+406
| |\ \
| * | | Stub out broken function only used for cacheErik Johnston2018-03-011-1/+3
| * | | Split out SignatureStore and EventFederationStoreErik Johnston2018-03-012-132/+140
* | | | Merge pull request #2927 from matrix-org/erikj/read_marker_cachesErik Johnston2018-03-012-2/+39
|\ \ \ \ | |_|/ / |/| | |
| * | | Fewer lies are betterErik Johnston2018-03-011-2/+2
| * | | Improve caching for read_marker APIErik Johnston2018-03-011-0/+35
| * | | Add some caches to help read marker APIErik Johnston2018-03-012-2/+4
| |/ /
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_stre...Erik Johnston2018-03-013-197/+206
|\ \ \
| * \ \ Merge pull request #2923 from matrix-org/erikj/stream_ago_workerErik Johnston2018-03-012-79/+85
| |\ \ \
| | * | | Default stream_ordering_*_ago to NoneErik Johnston2018-03-011-2/+2
| | * | | Fix comment typoErik Johnston2018-03-011-1/+1
| | * | | Calculate stream_ordering_month_ago correctly on workersErik Johnston2018-03-012-79/+85
| | |/ /
| * / / Split up RoomStoreErik Johnston2018-03-011-118/+121
| |/ /
* | | Remove unused variablesErik Johnston2018-03-011-8/+1
* | | Document abstract class and method betterErik Johnston2018-03-011-8/+13
* | | Split out stream storeErik Johnston2018-03-012-165/+193
|/ /
* | Move storage functions for push calculationsErik Johnston2018-02-274-87/+99
* | Merge pull request #2904 from matrix-org/erikj/receipt_cache_invalidationErik Johnston2018-02-271-14/+14
|\ \
| * | Fix missing invalidations for receipt storageErik Johnston2018-02-211-14/+14
* | | Merge pull request #2903 from matrix-org/erikj/split_roommember_storeErik Johnston2018-02-271-179/+182
|\ \ \
| * \ \ Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_room...Erik Johnston2018-02-238-501/+607
| |\ \ \
| * | | | Update copyrightErik Johnston2018-02-232-0/+2
| * | | | Split out RoomMemberStoreErik Johnston2018-02-211-179/+181
* | | | | Merge pull request #2901 from matrix-org/erikj/split_as_storesErik Johnston2018-02-271-9/+22
|\ \ \ \ \
| * | | | | Add commentErik Johnston2018-02-271-0/+4
| * | | | | Update copyrightErik Johnston2018-02-231-0/+1
| * | | | | Split AS storesErik Johnston2018-02-211-9/+17
| |/ / / /
* | | | | Merge pull request #2892 from matrix-org/erikj/batch_inserts_push_actionsErik Johnston2018-02-261-17/+36
|\ \ \ \ \
| * | | | | Batch inserts into event_push_actions_stagingErik Johnston2018-02-201-17/+36
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/handle_unp...Erik Johnston2018-02-269-560/+700
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_even...Erik Johnston2018-02-237-424/+532
| |\ \ \ \ \
| | * \ \ \ \ Merge pull request #2902 from matrix-org/erikj/split_events_storeErik Johnston2018-02-232-359/+402
| | |\ \ \ \ \
| | | * | | | | Split EventsWorkerStore into separate fileErik Johnston2018-02-232-360/+400
| | | * | | | | Update copyrightErik Johnston2018-02-231-0/+1
| | | * | | | | Remove redundant clockErik Johnston2018-02-231-3/+0
| | | * | | | | _event_persist_queue shouldn't be in worker storeErik Johnston2018-02-231-4/+4
| | | | |/ / / | | | |/| | |
| | | * | | | Split out get_events and co into a worker storeErik Johnston2018-02-211-345/+350
| | | | |/ / | | | |/| |
| | * | | | Merge pull request #2899 from matrix-org/erikj/split_pushersErik Johnston2018-02-231-4/+7
| | |\ \ \ \
| | | * | | | Update copyrightErik Johnston2018-02-231-0/+1
| | | * | | | Split PusherStoreErik Johnston2018-02-211-4/+6
| | | |/ / /
| | * | | | Merge pull request #2898 from matrix-org/erikj/split_push_rules_storeErik Johnston2018-02-232-28/+57
| | |\ \ \ \
| | | * | | | Update copyrightErik Johnston2018-02-232-0/+2
| | | * | | | Split PushRulesStoreErik Johnston2018-02-212-28/+55
| | | |/ / /
| | * | | | Update copyrightErik Johnston2018-02-232-0/+2
| | * | | | Use absolute importsErik Johnston2018-02-232-3/+3
| | * | | | Split AccountDataStore and TagStoreErik Johnston2018-02-213-33/+65
| | |/ / /
| * | | | Update copyrightErik Johnston2018-02-232-0/+2
| * | | | Split out EventPushActionWorkerStoreErik Johnston2018-02-211-71/+73
| |/ / /
| * | | Raise exception in abstract methodErik Johnston2018-02-201-1/+1
| * | | Fix commentErik Johnston2018-02-201-1/+1
| * | | Use abstract base class to access stream IDsErik Johnston2018-02-201-15/+27
| * | | Split ReceiptsStoreErik Johnston2018-02-202-48/+64
| |/ /
* | | Actually use new paramErik Johnston2018-02-211-1/+3
* | | Ensure all push actions are deleted from stagingErik Johnston2018-02-202-2/+19
* | | Refactor _set_push_actions_for_event_and_users_txn to use events_and_contextsErik Johnston2018-02-202-33/+41
|/ /
* | (Really) fix tablescan of event_push_actions on purgeRichard van der Hoff2018-02-161-1/+0
* | Fix typo of double is_highlightErik Johnston2018-02-161-1/+1
* | CommentsErik Johnston2018-02-162-1/+6
* | Ensure that we delete staging push actions on errorsErik Johnston2018-02-151-0/+16
* | Remove context.push_actionsErik Johnston2018-02-151-4/+3
* | Update event_push_actions table from staging tableErik Johnston2018-02-152-22/+39
* | Store push actions in staging areaErik Johnston2018-02-152-0/+51
* | Don't serialize current state over replicationErik Johnston2018-02-151-0/+14