Java8 Parallel Stream:一次线上告警引发的思考

由于在使用parallelStream()时没有注意并发安全性,导致返回结果中出现null元素,触发了线上告警,上游服务通过RPC调用下游服务时服务超时,而客户端是采用轮询的方式检查接口最新数据,所以每30s就会报一次。 最后查明是由于下游服务在write回流过程中遇到NPE阻断了写入流程导致。 下面贴出事故代码: 由于在并行流过程中使用了非线程安全的ArrayList,底层维护的数据在每次插入数
相关文章
相关标签/搜索