2008-7-2 21:55
szhswl_db
请教OSCache奇怪问题
最近开发的几个项目中,都用到OSCache,之前几个项目也都进行了压力测试,没出现问题。
可现在在测试一个项目时,OSCache配置一样,代码一样,用JMeter进行测试时,就报如下错误:
ERROR [http-8080-Processor17] (Cache.java:417) - internal error: expected to get a state from key [screen_listviewmenu]
ERROR [http-8080-Processor24] (Cache.java:417) - internal error: expected to get a state from key [queries_private_detail_ff80808100d20ca40100d50ed39b0972]
ERROR [http-8080-Processor21] (Cache.java:417) - internal error: expected to get a state from key [query_402880900951a1830109533e726a1339]
ERROR [http-8080-Processor24] (Cache.java:417) - internal error: expected to get a state from key [query_402880900951a1830109534326f617b6]
ERROR [http-8080-Processor21] (Cache.java:417) - internal error: expected to get a state from key [enums_402880900951a18301095336ee34118e]
ERROR [http-8080-Processor19] (Cache.java:417) - internal error: expected to get a state from key [queries_private_request_ff80808100d20ca40100d50ed39b0972]
ERROR [http-8080-Processor15] (Cache.java:417) - internal error: expected to get a state from key [query_4028808f0284f2d9010285acc5a51eb7]
ERROR [http-8080-Processor22] (Cache.java:417) - internal error: expected to get a state from key [query_request-all]
......
java.lang.IllegalStateException: Cannot cancel cache update - current state (1) is not UPDATE_IN_PROGRESS
......
出现UPDATE_IN_PROGRESS错误应该是下面:
public static Object get(String value) {
try {
return cache.getFromCache(value);
} catch (NeedsRefreshException e) {
cache.cancelUpdate(value);
return null;
}
}
代码中cache.cancelUpdate(value)导致的。
不知何解?
希望大家能讨论讨论。
[[i] 本帖最后由 szhswl_db 于 2008-7-2 23:07 编辑 [/i]]