DruidDataSource shrink operation causes concurrency bottleneck due to array shifting
DruidDataSource shrink operation causes concurrency bottleneck due to array shifting: a task in LegoFlow-SWE (Harbor dataset). The pooled connection storage inside DruidDataSource currently uses a plain Java array. When the shrink operation runs, it removes connections from the front of that…
The task
The pooled connection storage inside `DruidDataSource` currently uses a plain Java array. When the shrink operation runs, it removes connections from the front of that array. Because the array does not support cheap removal from the head, every shrink forces all subsequent elements to be shifted toward index 0 to…
Part of Lego-X/LegoFlow-SWE.