fix expression vocab memory management and incorrect reallocation of aggregates storage#3175
Conversation
…aggregates storage
fix and improve the sys_info example
Signed-off-by: Alexander Balabin <abalabin@bamfunds.com>
|
Thanks for the PR and research, @abalabin-bamfunds ! It's a real issue and the fix and prose are super helpful. However this fix has a memory safety issue. Small side issue - the DCO Bot failed your PR for lacking a sig. I can see in the comments that you signed it, but the DCO Bot is not recognizing your sig. Perhaps because it is indented? We really appreciate you making sure to cover this step up front (it means you took the time to read the Back to the issue at hand. I've gone ahead and re-implemented a fix and added a test for this issue in #3177 that is memory stable, so closing this PR. |
|
Thanks @texodus Agree re memory safety - I did not spot that letting vocab growing over pre-allocated size invalidates pointers and weirdly (and thankfully!) did not get any crashes while running with this fix for a few months. It is cool to have a proper fix. Re DCO - I think this was a squash commit from pre-signed commits done with |
also fix and add ability to create tables with index to the sys_info example
This PR fixes a problem when having a string-valued expression column on views of tables that frequently update made perspective grow unlimited amount of memory and slow down dramatically with time. While I could not get a test together that would show this clearly, the results of manual testing are below.
Using the updated sys_info example and the JSON pasted below for the "Generated Data" view the observations before the fix looked like this:


after the fix:
JSON: