LRU Cache is not handling duplicates while parallel inserts -----------------------------------------------------------
Key: IBATIS-552 URL: https://issues.apache.org/jira/browse/IBATIS-552 Project: iBatis for Java Issue Type: Bug Components: SQL Maps Affects Versions: 2.3.3, 2.3.2 Environment: Windows XP Reporter: Sijo Mathew While using LRU cache with multiple threads and if the threads are querying the same data it is possible to insert duplicate values to the LRU Cache. Even though the internal HashMap handles duplicate keys, the LinkedList used to track least recently used keys is not handling duplicates. So, the external list will grow with each duplicate key but you will have only unique keys inside the map. If there are too many multiple inserts with duplicates, the Cache limit will never be reached as iBatis compares the limit with the size of the LinkedList. It can also be fixed easily by adding a line to check for duplicates before adding the key to the LinkedList. Given below is the log for an example run (I have added some extra log messages inside the LRUController) with LRU size as 10 and 4 threads reading values simultaneously. The internal Map Size and the size of the LinkeList are printed in the logs. 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-0] Added:-1353008825|-2349913913|AAG847301000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-0] Map size:1 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-0] KeyList Size:1 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-3] Added:-1353008825|-2349913913|AAG847301000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-3] Map size:1 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-3] KeyList Size:2 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-2] Added:-1353008825|-2349913913|AAG847301000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-2] Map size:1 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:3 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-1] Added:-1353008825|-2349913913|AAG847301000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-1] Map size:1 11/05/2008 17:55:51,300 [INFO] [LruCacheController] [T:Thread-1] KeyList Size:4 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-2] Added:-1596924730|-2713110834|AAH55G107000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-2] Map size:2 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:5 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-3] Added:-1596924730|-2713110834|AAH55G107000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-3] Map size:2 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-3] KeyList Size:6 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-0] Added:-1596924730|-2713110834|AAH55G107000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-0] Map size:2 11/05/2008 17:55:51,347 [INFO] [LruCacheController] [T:Thread-0] KeyList Size:7 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] Added:-1596924730|-2713110834|AAH55G107000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] Map size:2 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] KeyList Size:8 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] Added:1063328664|-2743358960|ABJ59P406000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] Map size:3 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:9 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-0] Added:1063328664|-2743358960|ABJ59P406000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-0] Map size:3 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-0] KeyList Size:10 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] Added:1063328664|-2743358960|ABJ59P406000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] Map size:3 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] KeyList Size:11 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] Removed:1063328664|-2743358960|ABJ59P406000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] Map size:2 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-1] KeyList Size:10 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-3] Added:1063328664|-2743358960|ABJ59P406000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-3] Map size:2 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-3] KeyList Size:11 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-3] Removed:1063328664|-2743358960|ABJ59P406000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-3] Map size:2 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-3] KeyList Size:10 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] Added:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] Map size:3 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:11 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] Removed:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] Map size:3 11/05/2008 17:55:51,362 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:10 11/05/2008 17:55:51,378 [INFO] [LruCacheController] [T:Thread-3] Added:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,378 [INFO] [LruCacheController] [T:Thread-3] Map size:3 11/05/2008 17:55:51,378 [INFO] [LruCacheController] [T:Thread-3] KeyList Size:11 11/05/2008 17:55:51,378 [INFO] [LruCacheController] [T:Thread-3] Removed:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-3] Map size:3 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-3] KeyList Size:10 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-2] Added:29513955|-1973201533|ADA36P102000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-2] Map size:4 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:11 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-2] Removed:29513955|-1973201533|ADA36P102000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-2] Map size:3 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:10 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-0] Added:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-0] Map size:3 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-0] KeyList Size:11 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-0] Removed:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-0] Map size:3 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-0] KeyList Size:10 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-1] Added:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-1] Map size:3 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-1] KeyList Size:11 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-1] Removed:1255587313|-2332084447|ACF642105000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-1] Map size:3 11/05/2008 17:55:51,394 [INFO] [LruCacheController] [T:Thread-1] KeyList Size:10 11/05/2008 17:55:51,409 [INFO] [LruCacheController] [T:Thread-2] Added:-598701938|-1795100586|ADC37E112000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,409 [INFO] [LruCacheController] [T:Thread-2] Map size:4 11/05/2008 17:55:51,409 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:11 11/05/2008 17:55:51,409 [INFO] [LruCacheController] [T:Thread-2] Removed:-598701938|-1795100586|ADC37E112000|getSymbolName|31984447| select security_symbols as symbol, cusip as cusip, industry_symbol as msdIndustrySymbol, sec_type as msdSecType, sec_subtype as msdSecSubtype, UNDER_CUSIP as msdUndercusip, closing_price as msdClosingPrice, price_date as msdPriceDate, security_number as secNum, IDSI_EXCH as msdIdsiExch, EXCHANGE as msdExchange , STATEMENT_SEC_TYPE as msdStatementSecType, PROSPECTUS_IND as msdProspectusInd, LAST_RESH_TSTAMP as lastResearchDate, IDD_SYMBOL as msdIddSymbol, MONEY_MARKET as isMsdMoneyMarket, option_type as optionPutOrCall, maty_date as optionMaturityDate, strike_price as optionStrikePrice from msd where cusip in(?) |executeQueryForList|0|-999999 11/05/2008 17:55:51,409 [INFO] [LruCacheController] [T:Thread-2] Map size:4 11/05/2008 17:55:51,409 [INFO] [LruCacheController] [T:Thread-2] KeyList Size:10 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.