Cache Troubles | KEVIN RESCHENBERG 05-03-2004 |
If you're a developer or a user, and you've ever encountered strange, unexplainable behavior in
your PeopleSoft system, chances are that some portion of the cache was out of date or
corrupted. You deleted the cache and everything started working correctly. Why was this necessary?
"Cache", as I'm using the term here, refers to a set of files on disk that represent
PeopleSoft objects. The cache starts out empty and is slowly filled with objects as you use
the system. The purpose of the cache is simply to reduce the number of trips to the database
to retrieve objects.
In many cases, the cache is not really corrupted at all—it just wasn't kept up to date.
Some objects seem to have particular problems with this. Message catalog entries, for example,
sometimes don't seem to migrate correctly unless you make a small change on the target database
side (or clear the cache). One of my clients also has intermittent problems migrating PeopleCode,
though that doesn't seem too common.
Out-of-date cache issues also happen when you refresh or copy a database. The objects in the database
are changed by the copy but the objects in cache are not affected. The cache no longer
matches the database. This can lead to all sorts of problems. A bad cache can cause just about
any type of error you can imagine, including errors you would think would be related only to
the application data. Issues with the local cache on your own computer can be indicated by
symptoms such as objects comparing as "same/same" when they don't even exist in one of the databases.
When you copy a database, remember to delete all of the servers' cache. Also remember to delete
your own local cache and advise all of your developers and other Application Designer users to
do the same. This cache is probably located in C:\PS\CACHE. Simply delete the folder for the
database in question.
In the past, I've often wondered why the cache system seems so prone to error, but now I'm convinced
that it's largely a user training issue. Remembering to clear cache at the appropriate
times can help us avoid many problems.
|