book
Article ID: KB0076166
calendar_today
Updated On:
Description
Scenario:
After an attempt to refresh a TIBCO Data Virtualization cache, the server stops responding to the Studio and all archived versions of the cs_server.log files are immediately filled up with this entry appearing every fraction of a second:
ERROR [jetty thread pool-162] 2020-02-25 12:45:03.882 -0800 CacheSql - Unexpected -1 key found in validating cache key(P, <path to your cached resource>,null)
followed by this repeating entry:
Didn't find our own P row: (-2129247294,/<path to your cache target's status table>)
Issue/Introduction
This concerns a cache status issue.
Resolution
Look at the contents of the cache status table and check for the presence of negative cachekey values. The negative values are a sign that the key values reached the max possible value for that column type and overflowed into a negative value.
This is the result of excessive usage that caused our cachekey generation to reach the max limit. If you do not have the option to merely destroy all caches that utilize this target datasource and recreate this cache target, you can perform this manual workaround instead.
1. Insert a dummy row into the cache status table where the cachekey value is max(current cachekey) +1
Example of an INSERT statement, where 827784004 is greater than the current max cachekey. Follow the same serverid and clusterid format (if applicable) as used in the other rows in your table.
INSERT INTO <your status table> values ('1579134074457-1586234084', 'texaswinnx007.corp.xyz.com-9400-1060148522', 'KEY', '', 'K', 827784004, null, null, null, 0, '', '', '', '')
2. Manually delete all rows from the status table where cachekey < 0 and status = 'K'
This will remove the negative key values and reset the current new cachekey value. You may find yourself overflowing the key value again in the future, so you should consider this workaround to be a temporary remedy, giving you time to plan for a complete cache rebuild on this target datasource.