Thrift will materialize the entire result set into memory before
returning it to the client, so requesting very large numbers of columns
is quite detrimental to the server's health. Instead of increasing the
max_column_count ad infinitum, we'll fetch the columns in batches when
the model tells us that's desired.
The previous 300x100 traffic links weren't actually helpful as 300x100s
generally have a campaign added onto the codename. This finds campaigns
that have been seen in a subreddit recently and links them on the
subreddit traffic page.
During some errors, additional tracebacks
were being generated due to the attempted
reference to c.user before it had been properly
set. This should protect against that and let
the proper errors go through.
This is in preparation for some enhancements
to l2cs that require it to have a decent interface
(i.e., it's going to require unicode rather than
accepting either byte strings or unicode)
If a specific link has ridiculous traffic, we can inform the
apps (via ZK live config) that votes on it should be sent to a
separate, dedicated, queue to avoid overwhelming the rest of the
system.
The InterestBar template is rendered on /reddits/ and will error out
for compact and mobile unless a template file exists. Since we don't
have a version for compact or mobile yet, just use empty templates.
Adds campaign to weights of current promos and passes it up to the
spotlight render function to make it available for tracking at runtime.
Notes about rollout:
- This change modifies the live promotions data structure stored in permacache.
To prevent exceptions during rollout, it adds a version number to
the promotion key. Preload the new data structure before pushing this
change by running promote.make_daily_promotions() from staging with the
new code.
{username}@{domain} was conflicting with other services which had
similar formats (such as GAFYD). This makes it easier to identify
your reddit account among the other authenticators.
This is another attempt at doing so. We're now using the Leveled
Compaction strategy for SubredditQueryCache and have drastically reduced
gc_grace_seconds (to half an hour). This should ameliorate the tombstone
pileup issues we ran into last time.