Brion Vibber
c7507e7e9d
XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
...
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.
This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues
Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
This is based on Craig Andrews' work branch to generalize queues to take any
object, but conservatively leaving out the serialization for now.
Table updater (preserves any existing queued items) in db/rc3to09.sql
Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
each run through the event loop to watch for memory leaks
To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
to queues.
* Find a way to improve interactive performance of the database-backed queue
handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
grouping used to split out the XMPP output queue is a bit awkward.
Conflicts:
scripts/xmppdaemon.php
2010-01-22 12:52:36 -08:00
Evan Prodromou
a3e484a0e8
Memcached_DataObject unnecessarily require_once'd itself
2010-01-22 10:46:11 -05:00
Evan Prodromou
1d64ba6602
Unimplement retweeted_by_me API action until we have a more efficient query
2010-01-21 11:38:08 -05:00
Evan Prodromou
e5eb95ab59
retweet API methods are readonly
2010-01-21 11:32:01 -05:00
Evan Prodromou
4175ec7c6e
update changes in README
2010-01-20 17:49:13 -05:00
Evan Prodromou
9e3013c6b6
mark retweet api actions read-only where applicable
2010-01-20 17:00:42 -05:00
Evan Prodromou
10f21e1f41
add class and function doc comments to PuSH plugin
2010-01-20 16:37:41 -05:00
Evan Prodromou
0167ff6d27
whitespace changes to make phpcs happy for PuSH plugin
2010-01-20 16:29:11 -05:00
Evan Prodromou
1d37a6c428
correctly get replies for a notice in PuSH plugin
2010-01-20 16:16:22 -05:00
Evan Prodromou
365b0b1e14
use standard plugin configuration for PubSubHubBub
2010-01-20 16:13:52 -05:00
Evan Prodromou
7679f058ef
Revert "DEBUG HACK: error checking for xml_parse in XMPPHP input stream"
...
This reverts commit 906450e2f5
.
1) It was a quick debug hack 2) it doesn't meet the requirements
for changing extlib/ libraries
2010-01-20 15:56:24 -05:00
Evan Prodromou
2a3cb86e29
Merge branch 'master' of git@gitorious.org:statusnet/mainline
2010-01-20 15:51:55 -05:00
Evan Prodromou
dbccebb14b
update friends, not user, timeline for recipients of notice in PuSH plugin
2010-01-20 15:43:24 -05:00
Brion Vibber
906450e2f5
DEBUG HACK: error checking for xml_parse in XMPPHP input stream
2010-01-20 08:37:58 -08:00
Brion Vibber
71df23642c
Extra debug instrumentation for xmppdaemon
2010-01-19 12:26:59 -08:00
Evan Prodromou
c7f14cd777
allow all rights reserved, private data
2010-01-19 00:04:58 -05:00
Evan Prodromou
42a47a7719
Merge branch 'master' of git@gitorious.org:statusnet/mainline
2010-01-18 23:26:03 -05:00
Evan Prodromou
71f519f64a
add event for showing content license in action
2010-01-18 23:25:45 -05:00
Brion Vibber
775c63b654
Cleanup for memcached host/port split -- apparently we use ';' on purpose, restoring. Keeping fix for the notices spewing into the log.
2010-01-16 13:39:05 -08:00
Brion Vibber
faedddaa81
Merge branch 'master' of gitorious.org:statusnet/mainline
2010-01-16 13:37:49 -08:00
Evan Prodromou
21c3e08804
Merge branch 'master' of git@gitorious.org:statusnet/mainline
2010-01-16 07:48:59 -08:00
Evan Prodromou
d6b8b13116
change rc3 to beta3
2010-01-16 07:48:46 -08:00
Brion Vibber
d35faa04c1
Fix for background recalculation of groups; needs to get Group objects not IDs; also don't list any groups for repeats to match saveGroups behavior
...
todo: merge calculation portion with saveGroups so they don't get out of sync
2010-01-15 13:06:21 -08:00
Brion Vibber
598072468c
--xmpp-only hack for queuedaemon.php to run separate queue daemon with only xmpp threads
2010-01-15 11:13:06 -08:00
Brion Vibber
963260d262
Fix since_id and max_id API parameters for inbox-based loads; was failing if the exact id mentioned wasn't present in the inbox (or had been trimmed out)
2010-01-15 10:03:02 -08:00
Brion Vibber
038287c1ff
fix for --skip-xmpp hack -- forgot to do it on the ping & confirm handlers
2010-01-14 17:14:41 -08:00
Brion Vibber
58bc33850a
temporary --skip-xmpp flag on queuedaemon.php, allows to run queue daemons but skip subscription to xmpp-based queues
...
(still working on making these behave gracefully when server is down)
2010-01-14 15:32:37 -08:00
Brion Vibber
5783874cc2
Clean up host/port separation in memcached plugin -- use : not ; as separator and clean up some warnings
2010-01-14 14:14:32 -08:00
Brion Vibber
2f32181c93
Keep handler registration per-site to fix queue registration in mixed config environment
2010-01-14 13:22:33 -08:00
Brion Vibber
f4b47c7e64
Merge branch 'master' of gitorious.org:statusnet/mainline
2010-01-13 23:39:39 -08:00
Brion Vibber
8a7171fde6
Don't barf on io loop if xmpp connection failed
2010-01-13 23:38:51 -08:00
Evan Prodromou
28fafe803a
remove debugging statement for friends_timeline
2010-01-13 23:28:51 -08:00
Evan Prodromou
30e50439a3
change double quotes to single quotes in numbered format string
2010-01-13 23:17:37 -08:00
Evan Prodromou
16742d0fde
do since_id and max_id in inbox
2010-01-13 22:32:17 -08:00
Evan Prodromou
abd67452da
go straight to the DB for inbox before insert
2010-01-13 22:12:19 -08:00
Brion Vibber
4b839cfc53
fix for non-% memory soft limit
2010-01-13 21:41:42 -08:00
Brion Vibber
b25deaacea
queue daemon fixes: path fix for xmpp, suppress warning in memcached init
2010-01-13 21:24:36 -08:00
Brion Vibber
35a2f8de4d
actually use the user id instead of 0 ;)
2010-01-13 20:46:44 -08:00
Brion Vibber
82f2fe8cca
in case we have cached 'fake' inboxes, make sure we rebuild them running initializeinbox.php
2010-01-13 20:30:42 -08:00
Brion Vibber
ec873922e3
Gracefully skip missing user entries when initializing inboxes in bulk
2010-01-13 20:11:00 -08:00
Evan Prodromou
f827242bce
Merge branch 'testing'
2010-01-13 18:32:44 -08:00
Evan Prodromou
aa23698553
accept file for initializeinbox.php
2010-01-13 18:28:08 -08:00
Sarven Capadisli
085406ea88
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
2010-01-14 01:50:21 +00:00
Sarven Capadisli
acc48289e5
Update geo location UI for notice form where the geo data info is only
...
visible on @title of the enable/disable button.
2010-01-14 01:48:57 +00:00
Evan Prodromou
fdb64eed2f
Merge branch 'master' of git@gitorious.org:statusnet/mainline
2010-01-13 17:40:39 -08:00
Evan Prodromou
fba840ed56
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
2010-01-13 17:30:22 -08:00
Evan Prodromou
52bbb2262a
rev version in lib/common.php
2010-01-13 17:29:58 -08:00
Evan Prodromou
8d6b4cadf3
script to upgrade from RC2 to RC3
2010-01-13 17:28:31 -08:00
Brion Vibber
82e57b6204
Fix for dbqueuehandler: if a queue is unrecognized, discard entries rather than attempting to re-run them forever!
2010-01-13 16:33:03 -08:00
Evan Prodromou
4d7cdbf1c6
don't write Inbox if on a read-only page, but encache
2010-01-13 16:28:42 -08:00