on rare occasions posts do not get a parent. The only thing which could cause it is if we can't find our new post. So we'll check for this and try one more time before failing.

This commit is contained in:
Friendika 2011-05-29 22:50:36 -07:00
parent dd4d5707b0
commit 656d861b3e
2 changed files with 15 additions and 2 deletions

View file

@ -725,8 +725,10 @@ function fb_consume_stream($uid,$j,$wall = false) {
// don't store post if we don't have a contact // don't store post if we don't have a contact
if(! x($datarray,'contact-id')) if(! x($datarray,'contact-id')) {
logger('no contact: post ignored');
continue; continue;
}
$datarray['verb'] = ACTIVITY_POST; $datarray['verb'] = ACTIVITY_POST;
if($wall) { if($wall) {
@ -759,8 +761,10 @@ function fb_consume_stream($uid,$j,$wall = false) {
intval($top_item), intval($top_item),
intval($uid) intval($uid)
); );
if(count($r)) if(count($r)) {
$orig_post = $r[0]; $orig_post = $r[0];
logger('fb: new top level item posted');
}
} }
if(isset($entry->likes) && isset($entry->likes->data)) if(isset($entry->likes) && isset($entry->likes->data))

View file

@ -742,6 +742,15 @@ function item_store($arr,$force_parent = false) {
$arr['uri'], // already dbesc'd $arr['uri'], // already dbesc'd
intval($arr['uid']) intval($arr['uid'])
); );
if(! count($r)) {
// This is not good, but perhaps we encountered a rare race/cache condition, so back off and try again.
sleep(3);
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
$arr['uri'], // already dbesc'd
intval($arr['uid'])
);
}
if(count($r)) { if(count($r)) {
$current_post = $r[0]['id']; $current_post = $r[0]['id'];
logger('item_store: created item ' . $current_post); logger('item_store: created item ' . $current_post);