Skip to content

Commit

Permalink
WIP: Wait schema agreement when creating the keyspace
Browse files Browse the repository at this point in the history
  • Loading branch information
bettio committed Apr 22, 2020
1 parent 47a9df0 commit c0c4602
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions apps/astarte_housekeeping/lib/astarte_housekeeping/queries.ex
Original file line number Diff line number Diff line change
Expand Up @@ -139,22 +139,24 @@ defmodule Astarte.Housekeeping.Queries do
AND durable_writes = true;
"""

with {:ok, %Xandra.SchemaChange{}} <-
Xandra.execute(conn, query, %{}, consistency: :each_quorum) do
:ok
else
{:error, %Xandra.Error{} = err} ->
_ = Logger.warn("Database error: #{inspect(err)}.", tag: "database_error")
{:error, :database_error}
CSystem.run_with_schema_agreement(conn, fn conn ->
with {:ok, %Xandra.SchemaChange{}} <-
Xandra.execute(conn, query, %{}, consistency: :each_quorum) do
:ok
else
{:error, %Xandra.Error{} = err} ->
_ = Logger.warn("Database error: #{inspect(err)}.", tag: "database_error")
{:error, :database_error}

{:error, %Xandra.ConnectionError{} = err} ->
_ =
Logger.warn("Database connection error: #{inspect(err)}.",
tag: "database_connection_error"
)
{:error, %Xandra.ConnectionError{} = err} ->
_ =
Logger.warn("Database connection error: #{inspect(err)}.",
tag: "database_connection_error"
)

{:error, :database_connection_error}
end
{:error, :database_connection_error}
end
end)
end

defp create_realm_kv_store({conn, realm}) do
Expand Down

0 comments on commit c0c4602

Please sign in to comment.