[wp-trac] [WordPress Trac] #6698: Editing a published post causes excessive pings / closing comments on old posts causes trackbacks

WordPress Trac wp-trac at lists.automattic.com
Mon Jul 20 14:28:22 UTC 2009


#6698: Editing a published post causes excessive pings / closing comments on old
posts causes trackbacks
-------------------------------------+--------------------------------------
 Reporter:  lapcat                   |        Owner:  Denis-de-Bernardy
     Type:  defect (bug)             |       Status:  reopened         
 Priority:  high                     |    Milestone:  2.8.3            
Component:  Pings/Trackbacks         |      Version:  2.8.1            
 Severity:  major                    |   Resolution:                   
 Keywords:  has-patch needs-testing  |  
-------------------------------------+--------------------------------------
Changes (by VoxPelli):

  * keywords:  has-patch tested => has-patch needs-testing


Comment:

 Replying to [comment:37 Denis-de-Bernardy]:
 > Transients and options work in much the same way except that a) they can
 expire (hence no need for your options-related logic) and b) they're not
 stored in the database when using a persistent object cache.

 When saved directly to database it seems like pure options would be better
 in this case - but if transients works better with the persistent object
 cache as you say I should use them instead. I've updated the patch with
 that change.

 > Anyway, if you feel a 60s throttle before any pinging occurs is in
 order, base your patch on 6698.4.diff, and schedule the ping to occur at
 time() + 60 instead of time().

 I actually removed the throttle now - if a real cron job hasn't been set
 up the website has to actually be visited to trigger a cron job and we
 don't know when that will happen so even a 60 seconds throttle can turn in
 to a very long throttle for a blog not visited very often.


 I based my new patch on my old because I think your patch is broken in at
 least three ways.

 First it ignores all ping sources during the waiting period between two
 pings - it should queue a ping instead as my patch does.

 Secondly it sets the timer in _transition_post_status() when it's only in
 generic_ping() we actually know the correct timestamp.

 Thirdly a minor thing - the third argument of set_transient() is not a
 timestamp - it's the lifetime of the option.

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/6698#comment:38>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list