File tree Expand file tree Collapse file tree 2 files changed +20
-3
lines changed
packages/sync-service/lib/electric/persistent_kv Expand file tree Collapse file tree 2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ " @core/sync-service " : patch
3+ ---
4+
5+ fix: ensure smooth upgrade for filesystem KV format change
Original file line number Diff line number Diff line change @@ -15,9 +15,21 @@ defmodule Electric.PersistentKV.Filesystem do
1515 path = join ( fs , key )
1616
1717 case File . read ( path ) do
18- { :ok , data } -> { :ok , :erlang . binary_to_term ( data ) }
19- { :error , :enoent } -> { :error , :not_found }
20- error -> error
18+ { :ok , data } ->
19+ try do
20+ { :ok , :erlang . binary_to_term ( data ) }
21+ rescue
22+ ArgumentError ->
23+ # This was before we added `term_to_binary` to the filesystem.
24+ # We can treat data as a plain string
25+ { :ok , data }
26+ end
27+
28+ { :error , :enoent } ->
29+ { :error , :not_found }
30+
31+ error ->
32+ error
2133 end
2234 end
2335
You can’t perform that action at this time.
0 commit comments