vinyl: don't recover the same run for each its slice
Currently, on recovery we create and load a new vy_run per each slice, so if there's more than one slice created for a run, we will have the same run duplicated in memory. To avoid that, maintain the hash of all runs loaded during recovery of the current index, and look up the run there when a slice is created instead of creating a new run. Note, we don't need to do anything like this on initial join, as we delete the run right after sending it to the replica, so we can just create a new run each time we make a slice.
Loading
Please register or sign in to comment