Commit Graph

7898 Commits

Author SHA1 Message Date
Brion Vibber
ce6be4f836 Queues: redid the breakout control model so we can start up and subscribe to queues without running through the complete site list, which is ok at 1k sites but too slow at 10k.
All breakout queues that we're going to need to listen to now need to be explicitly listed in $config['queue']['breakout'].

Until XMPP is moved to component model, this setting will let the individual processes work with their own queues:
$config['queue']['breakout'][] = 'xmpp/xmppout/' . $config['site']['nickname'];
2010-02-17 16:49:00 -08:00
Zach Copley
73ba26efe3 Twitter bridge - fix for Ticket #2192 2010-02-17 20:58:32 +00:00
Zach Copley
05c50499c3 Better logging for Twitter bridge account linking process 2010-02-17 20:58:24 +00:00
Zach Copley
c201baffbf Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
2010-02-17 20:58:15 +00:00
Brion Vibber
e8275aa60a Fix exception on bad plugin load 2010-02-17 10:12:37 -08:00
Craig Andrews
8e07926a9c parse_url returns an associative array - not an object 2010-02-17 10:10:07 -08:00
Brion Vibber
c74aea589d Stomp queue restructuring for mass scalability:
- Multiplexing queues into groups and for multiple sites.
- Sharing vs breakout configurable per site and per queue via $config['queue']['breakout']
- Detect how many times a message is redelivered, discard if it's killed too many daemons
 - count configurable with $config['queue']['max_retries']
 - can dump the items to files in $config['queue']['dead_letter_dir']

Queue daemon memory & resource leak fixes:
- avoid unnecessary reconnections to memcached server (switch persistent connections back in on second initialization, assuming it's child process)
- monkey-patch for leaky .ini loads in DB_DataObject::databaseStructure() - was leaking 200k per active switch
- applied leak fixes to Status_network as well, using intermediate base Safe_DataObject for both it and Memcache_DataObject

Misc queue fixes:
- correct handling of child processes exiting due to signal termination instead of regular exit
- shutdown instead of infinite respawn loop if we're already past the soft memory limit at startup
- Added --all option for xmppdaemon... still opens one xmpp connection per site that has xmpp active

Cache updates:
- add Cache::increment() method with native support for memcached atomic increment
2010-02-16 09:16:51 -08:00
Brion Vibber
3d0c3f0577 Pull fix from testing branch: use new encoding funcs w/ stomp queues 2010-02-16 09:15:29 -08:00
Brion Vibber
8869ccc94e Temporary debug hack tracking down 'revoked accesstoken' issue with OMB posts 2010-02-15 15:19:16 -08:00
Zach Copley
9f8e25bfe7 Use static class method for looking up Twitter user 2010-02-15 22:13:10 +00:00
Zach Copley
01c428796f Twitter-bridge: lookup old foreign_user by primary key not url 2010-02-15 22:05:23 +00:00
Zach Copley
fdf6ed7b1a Better log msgs. Removed debugging statement. 2010-02-15 21:23:26 +00:00
Zach Copley
2b6a39f70f Fix for regression introduced with my last update to the
TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.
2010-02-15 21:10:45 +00:00
Brion Vibber
d9c9b2a12f Queue daemon fixes:
* skip unnecessary unsubscribes on graceful shutdown -- takes a long time for many queues, slows down our restarts when hitting graceful mem limit
* fix control channel (was broken when we switched to support multiple queue servers)
2010-02-10 10:59:30 -08:00
Brion Vibber
e856af34c3 Configurable delay between queuedaemon.php spawns/respawns to help stagger out startups and subscriptions. Defaults to 1 second.
$config['queue']['spawndelay'] = 1;
2010-02-09 14:27:33 -08:00
Zach Copley
70d5f39ed6 Better checking for duplicate app names 2010-02-08 21:57:29 -08:00
Brion Vibber
bc4e843f39 Disable deprecated 'since' parameter on public_timeline API; causes performance problems. (since_id will work cleanly) 2010-02-08 19:22:55 -08:00
Brion Vibber
96ef4435b6 Allow scripts/decache.php to blow out cache for objects that don't exist (anymore).
May miss keys other than the given or primary key, but should work for a lot of common cases where a bad entry's been removed from DB but lingers in cache.
2010-02-08 15:32:20 -08:00
Evan Prodromou
9cac8eaae5 readme and version for beta5 2010-02-08 14:07:31 -08:00
Zach Copley
c83d0b5e98 Delete old Twitter user record when user changes screen name instead of updating. Simpler. 2010-02-08 12:16:55 -08:00
Zach Copley
21c0e75a2e Store Twitter screen_name, not name, for foreign_user.nickname when saving Twitter user. 2010-02-08 12:16:43 -08:00
Zach Copley
23802e58d6 Merge branch 'temp' 2010-02-05 03:19:12 +00:00
Zach Copley
857494c9c6 Actually store the timestamp on each nonce 2010-02-05 03:18:45 +00:00
Zach Copley
208eec6511 OAuth app name should not be null 2010-02-05 03:18:45 +00:00
Zach Copley
4379027432 Fix issue with OAuth request parameters being parsed/stored twice when
calling /api/account/verify_credentials.:format
2010-02-05 03:18:45 +00:00
Zach Copley
af9f23c2d9 - Fix cache handling in TwitterStatusFetcher
- Other stability fixes
2010-02-05 03:18:45 +00:00
Sarven Capadisli
586d8e8524 Added right margin for notice text. Helps Conversation notices look
better.
2010-02-05 03:18:45 +00:00
Zach Copley
7931875bbb Confirm dialog for reset OAuth consumer key and secret button 2010-02-05 03:18:44 +00:00
Zach Copley
4041a59282 Always check for an OAuth request. This allows OAuth clients to set an
auth user, similar to how they can set one via http basic auth,
even if one is not required.  I think I finally got this right.
2010-02-05 03:18:44 +00:00
Zach Copley
5417124884 Linkify notice source when posting from registered OAuth apps 2010-02-05 03:18:44 +00:00
Zach Copley
e9ecd8062a Suppress notice input box on OAuth authorization page 2010-02-05 03:18:44 +00:00
Zach Copley
b31c79cee1 Better token revocation 2010-02-05 03:18:43 +00:00
Zach Copley
e495ac356c Allow developers to delete OAuth applications 2010-02-05 03:18:43 +00:00
Zach Copley
dc183f23cf OAuth app names should be unique. 2010-02-05 03:18:43 +00:00
Sarven Capadisli
8a0a891960 Prevents app statistic text from wrapping around avatar 2010-02-05 03:18:43 +00:00
Sarven Capadisli
52397f1474 Sentence case for app statistics 2010-02-05 03:18:43 +00:00
Brion Vibber
4502bea9a8 drop debug messages from inbox deletion fix 2010-02-04 15:16:27 -08:00
Brion Vibber
bb16898b1c Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now.
No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.

This can leave us with overlap between pages, but we already have that when new messages come in between clicks; seems to be the lesser of evils versus not getting a 'before' button.
More permanent fix for that will be to switch timeline paging in the UI to use notice IDs.
2010-02-04 15:15:42 -08:00
Eric Helgeson
37f3a3d558 Missed change when refactoring groups. Thanks macno 2010-02-04 14:00:06 -08:00
Brion Vibber
239b88025e Should fix spurious 'nickname taken' and 'email taken' errors on registration. Form's checks for existing nicks & emails would incorrectly return true on the second lookup due to bad interaction with negative caching.
(was checking $obj !== false but we return null now on negative cache hits, with false for cache misses)
2010-02-04 13:08:34 -08:00
Brion Vibber
5a1cbdc6f1 Add time-based cutoffs for public tag cloud, favorited lists to speed up those queries.
Defaulting to only looking at last 90 days of activity, can be adjusted up or down.

$config['tag']['cutoff'] = 86400 * 90;
$config['popular']['cutoff'] = 86400 * 90;

Per-user and per-group tag clouds do not use the cutoff (and it doesn't help with indexing on them).
2010-02-04 11:06:01 -08:00
Evan Prodromou
7a7e2162dd Script to update profile URLs 2010-02-03 14:58:29 -05:00
Evan Prodromou
dbeb388ade clear cache for Profile::hasRepeated() at Notice::insert() time 2010-02-03 12:31:25 -05:00
Evan Prodromou
0e0beea5aa clearcache.php column flag was conflicting with default flag 2010-02-03 12:13:20 -05:00
Evan Prodromou
aee73d87ee showcache.php column flag was conflicting with default flag 2010-02-03 12:13:07 -05:00
Evan Prodromou
644a916383 change 'sitetype' to 'siteplan' to use consistent language 2010-02-03 11:55:54 -05:00
Evan Prodromou
20953ea3de Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-02-03 11:53:54 -05:00
Evan Prodromou
6215b9788c add nickname as unique key for user_group table 2010-02-03 11:53:31 -05:00
Brion Vibber
51c3606715 Fix regression breaking file attachments. This is what I get for rushing fixes and not properly testing them. :P 2010-02-02 09:32:28 -08:00
Brion Vibber
4f6052d8d8 Apply xopher's fix to add 'sitetype' parameter to setup_status_network.sh, exposed to the email 2010-02-02 05:53:05 -08:00