diff --git a/apps/emqx_resource/src/emqx_resource_worker.erl b/apps/emqx_resource/src/emqx_resource_worker.erl index f07c678b3..4d3e5be5a 100644 --- a/apps/emqx_resource/src/emqx_resource_worker.erl +++ b/apps/emqx_resource/src/emqx_resource_worker.erl @@ -1021,9 +1021,13 @@ queue_count(Q) -> replayq:count(Q). disk_queue_dir(Id, Index) -> - QDir = binary_to_list(Id) ++ ":" ++ integer_to_list(Index), + QDir0 = binary_to_list(Id) ++ "_" ++ integer_to_list(Index), + QDir = sanitizy_file_path(QDir0), filename:join([emqx:data_dir(), "resource_worker", node(), QDir]). +sanitizy_file_path(Filepath) -> + iolist_to_binary(string:replace(Filepath, ":", "_", all)). + clear_disk_queue_dir(Id, Index) -> ReplayQDir = disk_queue_dir(Id, Index), case file:del_dir_r(ReplayQDir) of