-
Previous implementation forgot to clear the compression table, which is an internal structure to packet. So when a recycled packet was reused, it compared owners of newly inserted records with dangling pointers left in the compression table. This is less of a problem in query processing, as each packet uses a memory pool, so the pointed names were never deallocated, but it would write out wrong compression pointers because the compression table kept pointing into packet that was now cleared and reused for something else. It is more of a problem with packets created without a memory pool, as the compression table kept references to memory that was already freed.