more-lambdas-java icon indicating copy to clipboard operation
more-lambdas-java copied to clipboard

KeyAffinityImpl维护的hashmap会不会有oom的风险

Open ChenjiaxingXJTU opened this issue 2 years ago • 1 comments

executeEx里select的逻辑 是mapping.compute。那么维护Map<K, KeyRef> mapping这个有可能因为输入key的增长而一直扩展。 假设线程池执行的任务的key是一个很大的规模,例如用户id,或网络设备的mac地址,这种体量。是否会有oom的风险呢。 而直接用key做哈希计算选择线程,则不需要存储关系。

ChenjiaxingXJTU avatar Mar 23 '23 13:03 ChenjiaxingXJTU

在finishCall会删掉的吧,不会oom,除非一次性涌入太多的请求,那样应该无解。直接使用key做哈希而不存储信息的话实现的就是不同的逻辑了,这个KeyAffinityImpl设计的本意就是均衡的线程池,通过哈希函数无法保证这一点

colinal avatar Jun 08 '23 09:06 colinal