erlang 如何测试mnesia系统事件

w80xi6nr  于 2022-12-08  发布在  Erlang
关注(0)|答案(1)|浏览(192)

我已经实现了mnesia系统事件的处理程序,如mnesia_overloadinconsistent_databasemnesia_fatal。现在我想测试这些处理程序。我可以创建事件并手动发送它们,但我更喜欢mnesia发送它们,因为这样测试用例会更真实的,他们可以发现我对mnesia系统事件文档的误解。
是否有可能人为触发这些事件以进行测试?

rm5edbpk

rm5edbpk1#

实现mnesia_overload的一种方法是通过同时向mnesia表中写入巨大的流量(可以使用spawn-ed进程内的表插入来模拟),同时将-mnesia dump_log_write_threshold参数设置为非常低的值。
您可能会在stdout ** WARNING ** Mnesia is overloaded: {dump_log,write_threshold}上收到类似以下内容的消息。
对于mnesia_fatal,可以尝试删除mnesiadata目录中的所有文件。

相关问题