Jump to content
  • 0

Domain Continually Renewing


flangefrog

Question

So I've just woken up to a $215 $343 bill from my registrar. Turns out a domain was being renewed every 5min until it hit the 10 year limit. Under what circumstances would Blesta continually renew something like this? Is it possible it could be something to do with my module? It is actually the same service I mentioned in http://www.blesta.com/forums/index.php?/topic/3565-0-invoice-not-paid/ and started renewing after I manually applied the credit to it.

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Ok, the problem is that the date_last_renewed was not updated. This is indirectly related to http://www.blesta.com/forums/index.php?/topic/3565-0-invoice-not-paid/ The $0 credit transaction that I added was not applied to the invoice (that's why the date_last_renewed was not updated) but it did allow the invoice to be marked as paid.
 
I think there should be a safeguard in place, such as the Cron::processRenewingServices() method updating the service's date_last_renewed so this does not ever happen again.

Edit: I'm not sure this is completely correct. What I do know is that Services::getAllRenewablePaid() was returning the service (and still does) until Oct 17, 2014 3:57:45 PM. So it looks like the run_date passed to Services::getAllRenewablePaid() is wrong in Cron::processRenewingServices().

Here is the timeline:

Apr 02, 2014 5:02:54 AM Service added
Sep 21, 2014 5:22:31 PM Service last renewed
Oct 17, 2014 5:05:02 AM Invoice created
Oct 17, 2014 3:57:45 PM Credit applied
Oct 17, 2014 3:57:45 PM Invoice closed
Oct 17, 2014 4:00:03 PM Started renewing every 5 min
Oct 18, 2014 4:56:06 AM Stopped renewing
Nov 21, 2014 6:22:31 PM Service renews
Link to comment
Share on other sites

  • 0

Do you purge your cron task logs often? My guess is no, so the date passed to Services::getAllRenewablePaid should be within the last interval for that cron task (last 5 minutes?), so it should only fetch services that were paid (invoice was closed) since that time. You can debug to see if the date is correct.

 

But if you are still receiving that service as a paid renewable service, then it must be an active service with a line item on an invoice that was closed within that interval, otherwise there is something else going on that should be debugged. Have you made any custom changes that might be related to this?

Link to comment
Share on other sites

  • 0

Do you purge your cron task logs often? My guess is no, so the date passed to Services::getAllRenewablePaid should be within the last interval for that cron task (last 5 minutes?), so it should only fetch services that were paid (invoice was closed) since that time. You can debug to see if the date is correct.

 

But if you are still receiving that service as a paid renewable service, then it must be an active service with a line item on an invoice that was closed within that interval, otherwise there is something else going on that should be debugged. Have you made any custom changes that might be related to this?

 

No, I don't purge the logs manually. The date from Logs::getCronLastRun() is correct now, but there was a task lock on process renewing services earlier today. This might have something to do with it.

 

I only have a few small core changes as vQmods and I'm confident the changes are not related.

Link to comment
Share on other sites

  • 0

I think you were right before about the run date being incorrect for Services::getAllRenewablePaid. I think what happened is that the run date (already in UTC) is converted to UTC while it was assuming it was not already in UTC. This advanced the date incorrectly such that each time the cron ran to renew services, your service was erroneously retrieved as renewable, and thus, renewed. This issue is fixed for v3.3.2 as apart of CORE-1500.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...