Skip to content

Commit 5ffa065

Browse files
committed
remove dets file if load fails
1 parent cd1415d commit 5ffa065

File tree

1 file changed

+12
-12
lines changed
  • apps/language_server/lib/language_server

1 file changed

+12
-12
lines changed

apps/language_server/lib/language_server/tracer.ex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -152,19 +152,19 @@ defmodule ElixirLS.LanguageServer.Tracer do
152152
table_name = table_name(table)
153153
path = dets_path(project_dir, table)
154154

155-
{:ok, _} =
156-
:dets.open_file(table_name,
157-
file: path |> String.to_charlist(),
158-
auto_save: 60_000
159-
)
160-
161-
case :dets.to_ets(table_name, table_name) do
162-
^table_name ->
163-
:ok
155+
opts = [file: path |> String.to_charlist(), auto_save: 60_000]
164156

165-
{:error, reason} ->
166-
Logger.error("Unable to load DETS #{path}, #{inspect(reason)}")
167-
end
157+
open_result =
158+
case :dets.open_file(table_name, opts) do
159+
{:ok, _} ->
160+
:ok
161+
162+
{:error, {:not_a_dets_file, _}} ->
163+
File.rm_rf!(path)
164+
{:ok, _} = :dets.open_file(table_name, opts)
165+
end
166+
167+
^table_name = :dets.to_ets(table_name, table_name)
168168
end
169169

170170
def close_table(table, project_dir) do

0 commit comments

Comments
 (0)