我为mnesia系统事件(如mnesia_overload
、inconsistent_database
和mnesia_fatal
)实现了处理程序。现在我想测试这些处理程序。我可以创建事件并手动发送它们,但是我更喜欢mnesia发送它们,因为这样测试案例就会更真实,并且他们可以找到我对mnesia系统事件文档的误解。
是否有可能为测试目的人为地触发这些事件?
发布于 2022-06-16 11:34:23
实现mnesia_overload
的一种方法是同时写入具有巨大流量的mnesia表(可以在spawn
-ed进程中使用表插入来模拟),同时将-mnesia dump_log_write_threshold
参数设置为非常低的值。
您可能在stdout ** WARNING ** Mnesia is overloaded: {dump_log,write_threshold}
上得到类似于下面的消息。
对于mnesia_fatal
,可以尝试删除mnesia data目录中的所有文件。
https://stackoverflow.com/questions/72447481
复制相似问题