erlang node_name phash 衝突坑
概述 在線上遇到了因節點名哈希值衝突導致的部分機器無負載問題。10台機器中,衝突的機器達到了4台之多。假設哈希的概率是平均的。10台機器中,不存在衝突的概率接近 1 - (1.0 / (2 ** 32)) * 10 0.9999999976716936 實際上,10台中哈希值衝突了6台。於是看源碼找答案。 過程 先從phash2 api入手 erlang 的 api調用方式和 linux有相似之
概述 在線上遇到了因節點名哈希值衝突導致的部分機器無負載問題。10台機器中,衝突的機器達到了4台之多。假設哈希的概率是平均的。10台機器中,不存在衝突的概率接近 1 - (1.0 / (2 ** 32)) * 10 0.9999999976716936 實際上,10台中哈希值衝突了6台。於是看源碼找答案。 過程 先從phash2 api入手 erlang 的 api調用方式和 linux有相似之
概述 在值班過程中,排查了一個erlang otp24的bug. erlang 編譯模塊在 otp/erts/emulator/beam/jit/x86/beam_asm.cpp:update_gdb_jit_info 中有內存泄露。只分配不釋放。 每次泄露 1K 左右,泄露和編譯模塊描述信息大小相關(模塊名,函數名,數量)。 因為otp24已經超過維護期了,所以提交的 issu