Merge pull request #2186 from matrix-org/revert-2175-erikj/prefill_state
Revert "Prefill state caches"pull/2192/head
						commit
						b25db11d08
					
				|  | @ -60,12 +60,12 @@ class LoggingTransaction(object): | |||
|         object.__setattr__(self, "database_engine", database_engine) | ||||
|         object.__setattr__(self, "after_callbacks", after_callbacks) | ||||
| 
 | ||||
|     def call_after(self, callback, *args, **kwargs): | ||||
|     def call_after(self, callback, *args): | ||||
|         """Call the given callback on the main twisted thread after the | ||||
|         transaction has finished. Used to invalidate the caches on the | ||||
|         correct thread. | ||||
|         """ | ||||
|         self.after_callbacks.append((callback, args, kwargs)) | ||||
|         self.after_callbacks.append((callback, args)) | ||||
| 
 | ||||
|     def __getattr__(self, name): | ||||
|         return getattr(self.txn, name) | ||||
|  | @ -319,8 +319,8 @@ class SQLBaseStore(object): | |||
|                     inner_func, *args, **kwargs | ||||
|                 ) | ||||
|         finally: | ||||
|             for after_callback, after_args, after_kwargs in after_callbacks: | ||||
|                 after_callback(*after_args, **after_kwargs) | ||||
|             for after_callback, after_args in after_callbacks: | ||||
|                 after_callback(*after_args) | ||||
|         defer.returnValue(result) | ||||
| 
 | ||||
|     @defer.inlineCallbacks | ||||
|  |  | |||
|  | @ -374,12 +374,6 @@ class EventsStore(SQLBaseStore): | |||
|                     new_forward_extremeties=new_forward_extremeties, | ||||
|                 ) | ||||
|                 persist_event_counter.inc_by(len(chunk)) | ||||
| 
 | ||||
|                 for room_id, (_, _, new_state) in current_state_for_room.iteritems(): | ||||
|                     self.get_current_state_ids.prefill( | ||||
|                         (room_id, ), new_state | ||||
|                     ) | ||||
| 
 | ||||
|                 for event, context in chunk: | ||||
|                     if context.app_service: | ||||
|                         origin_type = "local" | ||||
|  | @ -441,10 +435,10 @@ class EventsStore(SQLBaseStore): | |||
|         Assumes that we are only persisting events for one room at a time. | ||||
| 
 | ||||
|         Returns: | ||||
|             3-tuple (to_delete, to_insert, new_state) where both are state dicts, | ||||
|             i.e. (type, state_key) -> event_id. `to_delete` are the entries to | ||||
|             2-tuple (to_delete, to_insert) where both are state dicts, i.e. | ||||
|             (type, state_key) -> event_id. `to_delete` are the entries to | ||||
|             first be deleted from current_state_events, `to_insert` are entries | ||||
|             to insert. `new_state` is the full set of state. | ||||
|             to insert. | ||||
|             May return None if there are no changes to be applied. | ||||
|         """ | ||||
|         # Now we need to work out the different state sets for | ||||
|  | @ -551,7 +545,7 @@ class EventsStore(SQLBaseStore): | |||
|             if ev_id in events_to_insert | ||||
|         } | ||||
| 
 | ||||
|         defer.returnValue((to_delete, to_insert, current_state)) | ||||
|         defer.returnValue((to_delete, to_insert)) | ||||
| 
 | ||||
|     @defer.inlineCallbacks | ||||
|     def get_event(self, event_id, check_redacted=True, | ||||
|  | @ -704,7 +698,7 @@ class EventsStore(SQLBaseStore): | |||
| 
 | ||||
|     def _update_current_state_txn(self, txn, state_delta_by_room): | ||||
|         for room_id, current_state_tuple in state_delta_by_room.iteritems(): | ||||
|                 to_delete, to_insert, _ = current_state_tuple | ||||
|                 to_delete, to_insert = current_state_tuple | ||||
|                 txn.executemany( | ||||
|                     "DELETE FROM current_state_events WHERE event_id = ?", | ||||
|                     [(ev_id,) for ev_id in to_delete.itervalues()], | ||||
|  |  | |||
|  | @ -227,18 +227,6 @@ class StateStore(SQLBaseStore): | |||
|                     ], | ||||
|                 ) | ||||
| 
 | ||||
|             # Prefill the state group cache with this group. | ||||
|             # It's fine to use the sequence like this as the state group map | ||||
|             # is immutable. (If the map wasn't immutable then this prefill could | ||||
|             # race with another update) | ||||
|             txn.call_after( | ||||
|                 self._state_group_cache.update, | ||||
|                 self._state_group_cache.sequence, | ||||
|                 key=context.state_group, | ||||
|                 value=context.current_state_ids, | ||||
|                 full=True, | ||||
|             ) | ||||
| 
 | ||||
|         self._simple_insert_many_txn( | ||||
|             txn, | ||||
|             table="event_to_state_groups", | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Erik Johnston
						Erik Johnston