Remove old CassandraSave and CassandraHide.

This commit is contained in:
bsimpson63
2012-08-19 02:01:03 -04:00
parent 6fb9f5a09f
commit 858c7c264a
3 changed files with 10 additions and 98 deletions

View File

@@ -360,7 +360,6 @@ class ApiController(RedditController, OAuth2ResourceController):
cheater = (errors.CHEATER, None) in c.errors)
if save:
r = l._save(c.user)
queries.new_savehide(r)
#set the ratelimiter
if should_ratelimit:
@@ -908,7 +907,6 @@ class ApiController(RedditController, OAuth2ResourceController):
# auto-hide links that are reported
elif isinstance(thing, Link):
r = thing._hide(c.user)
queries.new_savehide(r)
# TODO: be nice to be able to remove comments that are reported
# from a user's inbox so they don't have to look at them.
elif isinstance(thing, Comment):
@@ -1734,8 +1732,6 @@ class ApiController(RedditController, OAuth2ResourceController):
def POST_save(self, thing):
if not thing: return
r = thing._save(c.user)
if r:
queries.new_savehide(r)
@noresponse(VUser(),
VModhash(),
@@ -1744,8 +1740,6 @@ class ApiController(RedditController, OAuth2ResourceController):
def POST_unsave(self, thing):
if not thing: return
r = thing._unsave(c.user)
if r:
queries.new_savehide(r)
def collapse_handler(self, things, collapse):
if not things:
@@ -1839,8 +1833,6 @@ class ApiController(RedditController, OAuth2ResourceController):
def POST_hide(self, thing):
if not thing: return
r = thing._hide(c.user)
if r:
queries.new_savehide(r)
@noresponse(VUser(),
VModhash(),
@@ -1849,8 +1841,6 @@ class ApiController(RedditController, OAuth2ResourceController):
def POST_unhide(self, thing):
if not thing: return
r = thing._unhide(c.user)
if r:
queries.new_savehide(r)
@validatedForm(VUser(),
@@ -1979,7 +1969,6 @@ class ApiController(RedditController, OAuth2ResourceController):
elif action == 'save':
link = max(links, key = lambda x: x._score)
r = link._save(c.user)
queries.new_savehide(r)
return self.redirect("/static/css_%sd.png" % action)
return self.redirect("/static/css_submit.png")

View File

@@ -20,7 +20,7 @@
# Inc. All Rights Reserved.
###############################################################################
from r2.models import Account, Link, Comment, Vote, SaveHide, Report
from r2.models import Account, Link, Comment, Vote, Report
from r2.models import Message, Inbox, Subreddit, ModContribSR, ModeratorInbox, MultiReddit
from r2.lib.db.thing import Thing, Merge
from r2.lib.db.operators import asc, desc, timeago
@@ -527,17 +527,12 @@ def get_liked(user):
def get_disliked(user):
return rel_query(vote_rel, user, '-1')
@cached_userrel_query
def get_hidden(user):
return rel_query(SaveHide, user, 'hide')
@cached_query(UserQueryCache, sort=[desc('action_date')])
def get_hidden_links(user_id):
return
@cached_userrel_query
def get_saved(user):
return rel_query(SaveHide, user, 'save')
def get_hidden(user):
return get_hidden_links(user)
@cached_query(UserQueryCache, sort=[desc('action_date')])
def get_saved_links(user_id, sr_id):
@@ -547,6 +542,11 @@ def get_saved_links(user_id, sr_id):
def get_saved_comments(user_id, sr_id):
return
def get_saved(user, sr_id=None):
sr_id = sr_id or 'none'
queries = [get_saved_links(user, sr_id), get_saved_comments(user, sr_id)]
return MergedCachedQuery(queries)
@cached_srrel_query
def get_subreddit_messages(sr):
return rel_query(ModeratorInbox, sr, 'inbox')
@@ -996,18 +996,6 @@ def set_unread(messages, to, unread, mutator=None):
if not mutator:
m.send()
def new_savehide(rel):
user = rel._thing1
name = rel._name
with CachedQueryMutator() as m:
if name == 'save':
m.insert(get_saved(user), [rel])
elif name == 'unsave':
m.delete(get_saved(user), [rel])
elif name == 'hide':
m.insert(get_hidden(user), [rel])
elif name == 'unhide':
m.delete(get_hidden(user), [rel])
def changed(things, boost_only=False):
"""Indicate to search that a given item should be updated in the index"""
@@ -1307,8 +1295,6 @@ def update_user(user):
get_sent(user),
get_liked(user),
get_disliked(user),
get_saved(user),
get_hidden(user),
get_submitted(user, 'new', 'all'),
get_comments(user, 'new', 'all')]
for q in results:

View File

@@ -163,14 +163,10 @@ class Link(Thing, Printable):
return cls._somethinged(SaveHide, user, link, 'save')
def _save(self, user):
# dual-write CassandraSaves
CassandraSave._save(user, self)
LinkSavesByAccount._save(user, self)
return self._something(SaveHide, user, self._saved, 'save')
def _unsave(self, user):
# dual-write CassandraSaves
CassandraSave._unsave(user, self)
LinkSavesByAccount._unsave(user, self)
return self._unsomething(user, self._saved, 'save')
@@ -186,12 +182,10 @@ class Link(Thing, Printable):
return cls._somethinged(SaveHide, user, link, 'hide')
def _hide(self, user):
CassandraHide._hide(user, self)
LinkHidesByAccount._hide(user, self)
return self._something(SaveHide, user, self._hidden, 'hide')
def _unhide(self, user):
CassandraHide._unhide(user, self)
LinkHidesByAccount._unhide(user, self)
return self._unsomething(user, self._hidden, 'hide')
@@ -346,8 +340,8 @@ class Link(Thing, Printable):
if user_is_loggedin:
try:
saved = CassandraSave._fast_query(user, wrapped)
hidden = CassandraHide._fast_query(user, wrapped)
saved = LinkSavesByAccount.fast_query(user, wrapped)
hidden = LinkHidesByAccount.fast_query(user, wrapped)
except tdb_cassandra.TRANSIENT_EXCEPTIONS as e:
g.log.warning("Cassandra save/hide lookup failed: %r", e)
saved = hidden = {}
@@ -1242,63 +1236,6 @@ class Message(Thing, Printable):
class SaveHide(Relation(Account, Link)): pass
class Click(Relation(Account, Link)): pass
class SimpleRelation(tdb_cassandra.Relation):
_use_db = False
_read_consistency_level = tdb_cassandra.CL.ONE
@classmethod
def _create(cls, user, link, write_consistency_level = None):
n = cls(thing1_id = user._id36,
thing2_id = link._id36)
n._commit(write_consistency_level=write_consistency_level)
return n
@classmethod
def _uncreate(cls, user, link):
try:
cls._fast_query(user, link)._destroy()
except tdb_cassandra.NotFound:
pass
class CassandraSave(SimpleRelation):
_use_db = True
_cf_name = 'Save'
_connection_pool = 'main'
_thing1_cls = Account
_thing2_cls = Link
@classmethod
def _save(cls, *a, **kw):
return cls._create(*a, **kw)
@classmethod
def _unsave(cls, *a, **kw):
return cls._uncreate(*a, **kw)
def _on_create(self):
return SimpleRelation._on_create(self)
def _on_destroy(self):
return SimpleRelation._on_destroy(self)
class CassandraHide(SimpleRelation):
_use_db = True
_cf_name = 'Hide'
_ttl = 7*24*60*60
_connection_pool = 'main'
_thing1_cls = Account
_thing2_cls = Link
@classmethod
def _hide(cls, *a, **kw):
return cls._create(*a, **kw)
@classmethod
def _unhide(cls, *a, **kw):
return cls._uncreate(*a, **kw)
class _SaveHideByAccount(tdb_cassandra.DenormalizedRelation):
@classmethod