Commit Graph

1648 Commits

Author SHA1 Message Date
Neil Williams
a24edac21f vote: Start dual-writing to new DenormalizedRelation-based CFs.
See the DenormalizedRelation commit for more details on why.
2012-08-20 12:34:47 -07:00
Neil Williams
1be75fda0e tdb_cassandra: Add DenormalizedRelation infrastructure.
This is intended to replace Relation. Relation works by putting each individual
relationship in its own Row. This means that doing a fast_query (cross-product)
results in a large multiget that likely touches every node on the C* ring.
DenormalizedRelation instead puts all of the relationships into a single row
per thing1 and only fetches the desired columns on read. This means that most
of the time, we'll do a single-row lookup to determine what we want and the
majority of the time we will get a very fast response from the row-level bloom
filters indicating that no such relationship exists.

The row cache should be disabled for this column family as the rows will be
VERY wide.
2012-08-20 12:34:47 -07:00
Neil Williams
be52637af1 vote: Remove VotesByDay view.
We are not currently using this so it is wasteful to keep it around.
2012-08-20 12:34:47 -07:00
Max Goodman
20759d52a1 Add small icon to online users count. 2012-08-17 16:29:32 -07:00
Jason Harvey
dda2a5daeb Add users_online Score. Fix _people and PluralManager to work with it properly.
PluralManager bits from chromakode.
2012-08-17 16:29:31 -07:00
Jason Harvey
f80eb468c0 Display active_accounts in the subreddit infobar.
Add a CSS class for users-online.
2012-08-17 16:29:31 -07:00
Jason Harvey
49607b72d1 Add a memoized method of get_count, and use it by default. 2012-08-17 16:29:30 -07:00
Jason Harvey
1fa2d40f27 Add a Subreddit property for active_accounts. 2012-08-17 16:29:30 -07:00
Jason Harvey
1520ddf057 Rename AccountActivityBySR to AccountsActiveBySR. 2012-08-17 16:29:30 -07:00
Jason Harvey
437079d750 Call update_sr_activity on any activity where c.site is a Subreddit. 2012-08-17 16:29:29 -07:00
Jason Harvey
7e22528221 Add Account method to update AccountActivityBySR. 2012-08-17 16:29:28 -07:00
Jason Harvey
2fe83ed70e Add AccountActivityBySR.
Cassandra View class for storing account activity(the columns) by
subreddit (the keys).

Columns have a TTL of 15 minutes to expire out inactive accounts.
2012-08-17 16:29:28 -07:00
Jason Harvey
b71d8bf749 Store a last_visit time on the Account thing. 2012-08-17 16:29:27 -07:00
Keith Mitchell
6bc99a48af Move 'best' sort to first in list 2012-08-16 16:35:25 -07:00
Keith Mitchell
70f4f79dad Spaces are ok; CRs and LFs are not
Protect against HTTP response splitting* without
overzealously blocking standard space characters
from URLs

* see http://en.wikipedia.org/wiki/HTTP_response_splitting
2012-08-16 16:34:52 -07:00
bsimpson63
a31b1e69f9 Transparent background for eye.png. 2012-08-14 12:21:31 -07:00
Keith Mitchell
07fa695857 Abort with 403 for toolbar links to private SRs 2012-08-14 12:20:40 -07:00
maxwellhansen
9bfed16203 install-reddit: Use newer bash redirection syntax. 2012-08-14 12:19:38 -07:00
Keith Mitchell
98f781957b Remove unnecessary _domain variable 2012-08-14 12:19:31 -07:00
Keith Mitchell
01146c301e Remove unused r2.po and friends from repo
Note that pylons.wsgiapp uses pylons.i18n's get_lang()
and friends, instead of our modified versions in
r2.lib.translation. This means that setting 'lang' in the
conf causes it to try and 'help' us by looking up PO files
in r2/i18n. Changing the ini files to use 'site_lang' as the
key gets around that.
2012-08-14 12:19:20 -07:00
Keith Mitchell
7d97ddbabb If you want the goods, seek out the reddit-i18n repo 2012-08-14 12:19:10 -07:00
bsimpson63
fcf1d5236d Sponsors can bypass roadblocks when creating campaigns. 2012-08-13 11:07:37 -07:00
shlurbee
eeb2aa840a Make min promotion bid dynamic
Updates javascript to use min bid defined in the app config instead of using a
hard-coded value, and allows admin to override min bid.

Updates validation code to allow admin to override min bid on the back end.
2012-08-13 11:07:32 -07:00
shlurbee
b1ed5e0f4e Move sr discovery links to zookeeper
This change will allow us to change the links without doing a code push
2012-08-13 11:07:27 -07:00
Neil Williams
a44f6f4c02 Upgrade passwords on log in when bcrypt work factor changed.
Previously, only old-style SHA-1 passwords were upgraded on login. Now,
if we change the bcrypt work factor, bcrypted passwords will also get
the upgrade treatment.
2012-08-13 10:21:37 -07:00
maxwellhansen
ca39abfa9b upload_static: Use dictionary comprehension for readability. 2012-08-13 10:21:37 -07:00
Neil Williams
c148165845 Clean up miscellanea in r2.lib.
Remove some unused files and move some tests to the test tree.
2012-08-13 10:21:37 -07:00
Neil Williams
d896b9a71f ZooKeeper: Make reduction of data optional in LiveList.get().
If we need the raw list of objects so that we can know what objects can
be deleted etc. then we'll need to disable the reduction.
2012-08-08 23:33:17 -07:00
Neil Williams
cf527d15cf ZooKeeper: Add pull model for LiveList.
The base LiveList set up is similar to LiveConfig; it sets a watch and
will get notified by ZooKeeper when the data changes. Sometimes we don't
need data very frequently, if at all, and would rather eschew the watch
for a pull based model (asking ZK for the data only when needed.) This
is particularly helpful if we're doing write-only changes to a
datastructure read only in one place (such as a queue processor).
2012-08-08 23:33:17 -07:00
Neil Williams
b75f6f26b6 Refactor IP-range searching code for better reusability.
Useful for util scripts etc.
2012-08-08 23:33:17 -07:00
Max Goodman
768663b032 Abort Makefile if Makefile.py fails. 2012-08-08 13:47:03 -07:00
Max Goodman
705e1bb123 Fix js.py module loading to use PluginLoader.
Fixes issue where js.py wasn't initializing Plugins with an entry_point
argument after the entry_point property was added.
2012-08-08 13:47:03 -07:00
Max Goodman
f19bb7c4f4 Load all plugins if None is passed to PluginLoader. 2012-08-08 13:47:03 -07:00
Max Goodman
bd16af84a4 Add plugin repo versions to the health list. 2012-08-08 13:47:03 -07:00
Max Goodman
fd13f2100a Add entry point property to plugin instances. 2012-08-08 13:47:03 -07:00
Max Goodman
25d96f1fc8 Remove unused comScore code. 2012-08-08 13:47:03 -07:00
Max Goodman
26d6b780dc Remove a few old static mini sites.
Also, update Socialite links to direct users to AMO.
2012-08-08 13:47:03 -07:00
Max Goodman
dd937cf73a My coworkers are silly. 2012-08-08 13:47:03 -07:00
Max Goodman
355a06d533 Add optional default value to NamedGlobals. 2012-08-08 13:47:03 -07:00
Max Goodman
bd42357847 Add NamedGlobals for storing long-lived unique data blobs. 2012-08-08 13:47:03 -07:00
Max Goodman
a186e5e7e9 Copy Modernizr's more robust sessionStorage feature detection. 2012-08-08 13:47:02 -07:00
Max Goodman
e5853f189d Re-reshuffle JS utils order. 2012-08-08 13:47:02 -07:00
Max Goodman
02eb461cfd Whitespace. 2012-08-08 13:47:02 -07:00
Max Goodman
272a1d86be Add icon for Opera speed dial. 2012-08-08 13:47:02 -07:00
Max Goodman
87be2c0a6c Remove hanging r.login.currentOrigin after refactor.
Original refactor in 482e8644d8
2012-08-08 13:47:02 -07:00
Keith Mitchell
0cf4f67642 Fix db_sort KeyError 2012-08-08 10:44:42 -07:00
shlurbee
65998674c8 Make promotion summary emails read from PromoCampaign things
These were still reading from the campaigns link attribute, which would have
caused them to fail when we stop dual writing to the link attribute.
2012-08-08 10:44:35 -07:00
Keith Mitchell
987be0d961 Replace reference to #subreddit with /r/subreddit 2012-08-07 10:02:04 -07:00
Neil Williams
ced53a257a Move IP-based throttling to ZooKeeper.
This buys us two things: one fewer memcache roundtrip per request to
determine if the IP is throttled or not, and the ability to use CIDR for
specifying blocks.

Google's ipaddress-py library as currently being modified (6f231f50aace)
for inclusion in the Python stdlib is included here to help us
manipulate CIDR ranges etc.
2012-08-06 15:30:39 -07:00
Neil Williams
34e57011b6 install-reddit: Make sure to start Cassandra after install.
The reddit PPA version of Cassandra no longer auto-starts on install
because that was really obnoxious in production. We'll have to make
sure to start the service after installing it.
2012-08-06 11:18:35 -07:00