You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the rdb loader collects items to be inserted and schedules them for insertion inside the shard with FlushShardAsync. Because those tasks are added to the shard_set and not executed immediately, it might happen, that RdbLoader::Load exits early with an error and those tasks will continue running. They can access the loaders fields and will crash if the loader was already deleted after reporting an error. We should make sure on every return that those tasks finished executing, like it is done on the very bottom of the function.
I would also suggest replacing the stop_early_ flag with Cancellation from commons 🙂
The text was updated successfully, but these errors were encountered:
Currently, the rdb loader collects items to be inserted and schedules them for insertion inside the shard with
FlushShardAsync
. Because those tasks are added to the shard_set and not executed immediately, it might happen, thatRdbLoader::Load
exits early with an error and those tasks will continue running. They can access the loaders fields and will crash if the loader was already deleted after reporting an error. We should make sure on every return that those tasks finished executing, like it is done on the very bottom of the function.I would also suggest replacing the
stop_early_
flag with Cancellation from commons 🙂The text was updated successfully, but these errors were encountered: