load dir=nonexistent
----
error: open nonexistent/: file does not exist

mkdir-all data-dir
----
mkdir-all("data-dir", 0777)
OK

load dir=data-dir
----
open-dir("data-dir")
OK

# Setting the active store key should trigger initializing the registry
# on disk.

set-active-store-key id=foo
----
create("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")
write("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith", <...280 bytes...>)
sync("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")
create("data-dir/marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith")
close("data-dir/marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith")
sync("data-dir")
close("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")

# Rotating the store key should move the marker.

set-active-store-key id=bar
----
create("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
write("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith", <...489 bytes...>)
sync("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
create("data-dir/marker.datakeys.000002.COCKROACHDB_DATA_KEYS_000002_monolith")
close("data-dir/marker.datakeys.000002.COCKROACHDB_DATA_KEYS_000002_monolith")
remove("data-dir/marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith")
sync("data-dir")
remove("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")
close("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")

list data-dir
----
COCKROACHDB_DATA_KEYS_000002_monolith
marker.datakeys.000002.COCKROACHDB_DATA_KEYS_000002_monolith

close
----
close("data-dir")
OK

# Loading the registry again should load from the marked file.

load dir=data-dir
----
open-dir("data-dir")
open("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
close("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
OK

# UseMarker should still be set, because we loaded from a marked file.

set-active-store-key id=bax
----
create("data-dir/COCKROACHDB_DATA_KEYS_000003_monolith")
write("data-dir/COCKROACHDB_DATA_KEYS_000003_monolith", <...698 bytes...>)
sync("data-dir/COCKROACHDB_DATA_KEYS_000003_monolith")
create("data-dir/marker.datakeys.000003.COCKROACHDB_DATA_KEYS_000003_monolith")
close("data-dir/marker.datakeys.000003.COCKROACHDB_DATA_KEYS_000003_monolith")
remove("data-dir/marker.datakeys.000002.COCKROACHDB_DATA_KEYS_000002_monolith")
sync("data-dir")
remove("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
close("data-dir/COCKROACHDB_DATA_KEYS_000003_monolith")

close
----
close("data-dir")
OK

rm-all data-dir
----
OK

mkdir-all data-dir
----
mkdir-all("data-dir", 0777)
OK

load dir=data-dir
----
open-dir("data-dir")
OK

set-active-store-key id=foo
----
create("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")
write("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith", <...280 bytes...>)
sync("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")
create("data-dir/marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith")
close("data-dir/marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith")
sync("data-dir")
close("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")

set-active-store-key id=bar
----
create("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
write("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith", <...489 bytes...>)
sync("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")
create("data-dir/marker.datakeys.000002.COCKROACHDB_DATA_KEYS_000002_monolith")
close("data-dir/marker.datakeys.000002.COCKROACHDB_DATA_KEYS_000002_monolith")
remove("data-dir/marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith")
sync("data-dir")
remove("data-dir/COCKROACHDB_DATA_KEYS_000001_monolith")
close("data-dir/COCKROACHDB_DATA_KEYS_000002_monolith")

close
----
close("data-dir")
OK
