IMPORTANT - fixed HubSub to properly fetch primary keys
In commite95f77d34c
HubSub lost the 'staticGet' function in a consolidation into the Managed_DataObject class. This was done carelessly by me as HubSub::staticGet was actually taking two arguments, none of which was a key and merging them in HubSub::hashkey() (staticGet was renamed getKV2a4dc77a63
). NOTE: This complements commit7e4718a4eb
which fixed a similar issue for the Magicsig class.
This commit is contained in:
parent
66997f2bec
commit
0bbcfa7bdf
|
@ -109,7 +109,7 @@ class PushHubAction extends Action
|
||||||
throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
|
throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
|
||||||
}
|
}
|
||||||
|
|
||||||
$sub = HubSub::getKV($topic, $callback);
|
$sub = HubSub::getByHashkey($topic, $callback);
|
||||||
if (!$sub) {
|
if (!$sub) {
|
||||||
// Creating a new one!
|
// Creating a new one!
|
||||||
$sub = new HubSub();
|
$sub = new HubSub();
|
||||||
|
@ -222,6 +222,6 @@ class PushHubAction extends Action
|
||||||
*/
|
*/
|
||||||
protected function getSub($feed, $callback)
|
protected function getSub($feed, $callback)
|
||||||
{
|
{
|
||||||
return HubSub::getKV($feed, $callback);
|
return HubSub::getByHashkey($feed, $callback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,11 @@ class HubSub extends Managed_DataObject
|
||||||
return sha1($topic . '|' . $callback);
|
return sha1($topic . '|' . $callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getByHashkey($topic, $callback)
|
||||||
|
{
|
||||||
|
return self::getKV('hashkey', self::hashkey($topic, $callback));
|
||||||
|
}
|
||||||
|
|
||||||
public static function schemaDef()
|
public static function schemaDef()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
|
@ -158,7 +163,7 @@ class HubSub extends Managed_DataObject
|
||||||
throw new ClientException(sprintf(_m('Hub subscriber verification returned HTTP %s.'),$status));
|
throw new ClientException(sprintf(_m('Hub subscriber verification returned HTTP %s.'),$status));
|
||||||
}
|
}
|
||||||
|
|
||||||
$old = HubSub::getKV($this->topic, $this->callback);
|
$old = HubSub::getByHashkey($this->topic, $this->callback);
|
||||||
if ($mode == 'subscribe') {
|
if ($mode == 'subscribe') {
|
||||||
if ($old) {
|
if ($old) {
|
||||||
$this->update($old);
|
$this->update($old);
|
||||||
|
@ -244,7 +249,7 @@ class HubSub extends Managed_DataObject
|
||||||
// destroy the result data for the parent query.
|
// destroy the result data for the parent query.
|
||||||
// @fixme use clone() again when it's safe to copy an
|
// @fixme use clone() again when it's safe to copy an
|
||||||
// individual item from a multi-item query again.
|
// individual item from a multi-item query again.
|
||||||
$sub = HubSub::getKV($this->topic, $this->callback);
|
$sub = HubSub::getByHashkey($this->topic, $this->callback);
|
||||||
$data = array('sub' => $sub,
|
$data = array('sub' => $sub,
|
||||||
'atom' => $atom,
|
'atom' => $atom,
|
||||||
'retries' => $retries);
|
'retries' => $retries);
|
||||||
|
|
|
@ -65,7 +65,7 @@ class HubPrepQueueHandler extends QueueHandler
|
||||||
while (count($pushCallbacks) && $n < self::ROLLING_BATCH) {
|
while (count($pushCallbacks) && $n < self::ROLLING_BATCH) {
|
||||||
$n++;
|
$n++;
|
||||||
$callback = array_shift($pushCallbacks);
|
$callback = array_shift($pushCallbacks);
|
||||||
$sub = HubSub::getKV($topic, $callback);
|
$sub = HubSub::getByHashkey($topic, $callback);
|
||||||
if (!$sub) {
|
if (!$sub) {
|
||||||
common_log(LOG_ERR, "Skipping PuSH delivery for deleted(?) consumer $callback on $topic");
|
common_log(LOG_ERR, "Skipping PuSH delivery for deleted(?) consumer $callback on $topic");
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user