redashでALL Queriesを選択すると “Loading…” のままで変わらない

問題発生

QueriesがLoadingのままで、Query一覧が表示されない

redash_serverコンテナには以下のログが吐かれていた

解決へのアプローチ

とりあえずググる。前例が見つからない。

twitterで騒ぐ。知ってる人いるかも。

すぐに見つからない。

redashのフォーラムに聞いた。

https://discuss.redash.io/t/when-open-queries-all-queries-always-loading/2449

redashの生みの親、arikfr がコメントをくれた

https://discuss.redash.io/t/when-open-queries-all-queries-always-loading/2449/2?u=gitsumito

あ!確かに消しました。

そういえばやったこと

この画面にたどり着く前、redashユーザーの作成を行なった。

manage.pyを使い、ユーザーの追加した。

ちなみにこのmanage.pyを使い、ユーザの追加・削除することは随分前のversionから利用可能で、このコマンドを用いた管理方法は @kakakakakku 氏のブログが非常にわかりやすい 

ただ、redash version 5.0でredashユーザーの作成を行うと(昔のバージョンもかも)、既に登録されているユーザでも新しく登録できてしまう。

つまりデータベースに二重に登録されてしまう状態だった。

この状態で作成したユーザでloginしようとすると、Internal Server Errorになりログインできなくなる。

仕方なくユーザーを削除することにした

Successfully。削除できた。

再度ユーザの作成を行なうと、無事作成したユーザでredashにログインできるようになった。

めでたし、めでたし。と思ったが、今回の問題

redashでALL Queriesを選択すると “Loading…” のままで変わらない

という問題に繋がったようだ。

解決方法

postgresのコンテナにログインし、userid周りを調整

redashのユーザ情報が格納されているusersテーブルでidを確認する

id 52~54 が欠番していることがわかる。

これが自分が削除したユーザのID。

まずはid 52~56のeventテーブルから全ての履歴を削除した

これでイベントが全て削除された。

usersテーブルのid 55,56 を 52,53 に変更した

その後、user idのインクリメント部分を管理しているusers_id_seq

を56 から 53に変更した。

対応はこれだけ、

無事問題が解決した。

最後に

CLIを見直すことを示唆してくれた。

今後のversion upが楽しみ。

Facebook Comments