我为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
复制相似问题