Merge pull request #11352 from lafirest/fix/ds_crash
fix(ds): avoid crashes when starting on Windows
This commit is contained in:
commit
a3a1a0468a
|
@ -4,6 +4,8 @@
|
|||
|
||||
-module(emqx_ds_app).
|
||||
|
||||
-dialyzer({nowarn_function, storage/0}).
|
||||
|
||||
-export([start/2]).
|
||||
|
||||
-include("emqx_ds_int.hrl").
|
||||
|
@ -13,13 +15,22 @@ start(_Type, _Args) ->
|
|||
emqx_ds_sup:start_link().
|
||||
|
||||
init_mnesia() ->
|
||||
%% FIXME: This is a temporary workaround to avoid crashes when starting on Windows
|
||||
ok = mria:create_table(
|
||||
?SESSION_TAB,
|
||||
[
|
||||
{rlog_shard, ?DS_SHARD},
|
||||
{type, set},
|
||||
{storage, rocksdb_copies},
|
||||
{storage, storage()},
|
||||
{record_name, session},
|
||||
{attributes, record_info(fields, session)}
|
||||
]
|
||||
).
|
||||
|
||||
storage() ->
|
||||
case mria:rocksdb_backend_available() of
|
||||
true ->
|
||||
rocksdb_copies;
|
||||
_ ->
|
||||
disc_copies
|
||||
end.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{application, emqx_durable_storage, [
|
||||
{description, "Message persistence and subscription replays for EMQX"},
|
||||
% strict semver, bump manually!
|
||||
{vsn, "0.1.1"},
|
||||
{vsn, "0.1.2"},
|
||||
{modules, []},
|
||||
{registered, []},
|
||||
{applications, [kernel, stdlib, rocksdb, gproc, mria]},
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Fixed this [#11345](https://github.com/emqx/emqx/issues/11345) crash issue when starting on Windows or any other platform without RocksDB support.
|
Loading…
Reference in New Issue