Happy New Year 2013! Y2k13 bug time…

From your friends at Integryst, Happy New Year!

It’s been a while since I last posted, and thought an appropriate way to kick off the new year was to share a Y2k13 bug in WebCenter Interaction. Well, it’s not a bug per se, but way back in the augts, 2013 seemed a long way away. So the wise developers at Plumtree, when faced with choosing a date infathomably far in the future, chose January 1, 2013 as the hard-coded expiration time for Automation Server Jobs:
wci-create-job

This means two things: First, when creating jobs on your ancient WebCenter Interaction/Aqualogic User Interaction/Plumtree portal, you’ll have a couple more clicks to set the “Do Not Run After” value sufficiently far in the future, or you’ll get an error saving the job because the expiration time is in the past. (2015 is plenty far, right? If you’re not feeling that lucky, I suggest 2099 so your grandkids can worry about the Y3k bug).

The second thing it means is that many of your jobs probably stopped running three days ago, because when you created them you probably left the default value in there for the expiration time. There’s no quick fix for this, but after the break I’ll share some tips on how you can reschedule these jobs.

First, we’re going to need to find all the jobs that were running prior to 1/1/13. To do so, you can run this query against the portal database:

SELECT     OBJECTID, FOLDERID, OWNERID, NAME, DESCRIPTION, ISLOCALIZED, LANG, CREATED, LASTMODIFIED, LASTMODIFIEDBY, LASTRUNTIME, NEXTRUNTIME
FROM         PTJOBS
ORDER BY LASTRUNTIME DESC

This will give you a list of jobs and their last run times. Find all job IDs that ran in the last week of ’12 but have a NEXTRUNTIME of null. These are the ones you’ll probably need to reschedule.

Unfortunately, even if you go back into the job, the time and frequency that you had for those jobs will be lost. So, you can use this query to get a history of job runs, using the appropriate value for **JOBID**:

SELECT     JOBID, RUNTIME, OPCLASSID, OPOBJECTID, OPRUNTIME, OPNAME, RESULT, MESSAGE, LASTMODIFIED_T
FROM         PTJOBOPHISTORY
WHERE     (JOBID = **JOBID**)
ORDER BY RUNTIME DESC

For example, these results make it pretty clear that the job was scheduled to run every day at 3AM. So, when you’re rescheduling this job, just set the start date the same as the last run time (in this case, 12/31/2012 @ 3AM), and the recurrence to 1 DAY – and make sure to fix that expiration date as well!
wci-job-history

Tags: , ,

One Response to “Happy New Year 2013! Y2k13 bug time…”

  1. Geoff Garcia says:

    Matt, I have a new years resolution for you – join Twitter to promote these great blog posts!!! Or are you already on there and just very difficult to find?! https://twitter.com/geoffgarcia/status/287281993052459009

Leave a Reply