kdb

why am I getting End-of-Day (EOD) Flush Errors in KDB RDB


While performing an EOD data flush in the RDB yesterday, we encountered an error that says sym. I have attached the error below. We have been using this in our tickerplant architecture without any issues for the past couple of months. However, we recently changed our table schema slightly because we were using the symbol type for incorrect columns, which caused significant memory usage. We changed these to char vectors for non-recurring columns, and this issue started happening after a week of running. Currently, we have two tickerplants running in production. The other tickerplant does not have this issue, and both setups are the same. The only difference is that in this tickerplant, the orders table has a big C as the type for the keyed column and not sym.

enter image description here enter image description here


Solution

  • It's hard to make an exact statement about what might be wrong with your stack without being able to properly debug it. From the error shown, it looks like sym wouldn't exist. Did you delete the sym file on disk by any chance? Have you moved it? Also, from what you describe you have a couple of things wrong with your setup. 1. Your sym file is now bloated, making your queries slower and inefficient. You say this is only a few month old stack, I would consider deleting the HDB and regenerating the data. Alternative, you have to de-enumerate all columns, create a new sym file and enumerate them again. Here's a whitepaper about that process: https://code.kx.com/q/wp/symfiles/ 2. Can you clarify what you mean with "keyed column" here "The only difference is that in this tickerplant, the orders table has a big C as the type for the keyed column and not sym." Because you can't splay keyed tables "Tables can be splayed. Keyed tables cannot." see Q4M https://code.kx.com/q4m3/14_Introduction_to_Kdb%2B/#1421-creating-splayed-tables

    [Update] Are you passing the correct format to .Q.dpfts? https://code.kx.com/q/ref/dotq/#dpfts-save-table-with-symtable