確認・GpuCache用関数の返り値について
Closed this issue · 3 comments
0-kaz commented
以下の関数の返り値がbigintからvoidになっているようですが、これは仕様でしょうか?
- pgstrom.gpucache_recovery
- pgstrom.gpucache_apply_redo
GPUCacheのテストコードで、意図的にcorruptedにした後recoveryで回復するか?という確認をしていたのですが、以下のクエリがエラーになっています。
SELECT pgstrom.gpucache_apply_redo('cache_corruption_test') = 0 AS apply_redo_result;
メッセージ
ERROR: operator does not exist: void = integer
0-kaz commented
もう1点確認です。
pgstrom.gpucache_infoビューのcorruptedカラムはなくなった理解でよいでしょうか。
その場合、corruptedしているかどうかのチェックは以下のクエリでよろしいでしょうか?
SELECT phase='corrupted' FROM pgstrom.gpucache_info WHERE table_name='cache_corruption_test';
kaigai commented
すいません。別問題の調査に手間取って反応遅れました。
gpucache_apply_redo()
もgpucache_recovery()
も、当該関数の処理(GPU-Serviceにリクエストを送出する)に失敗した場合は戻り値ではなくエラーを返しますので、VOID型で支障ないと判断しました。
pgstrom.gpucache_infoビューに関しても、phase列を見るようにしてください。
ready
やcorrupted
だけでなく、empty
やinitial-loading
という状態を見る事のできるタイミングも存在します。
0-kaz commented
承知しました。返り値の確認は無しとします。
他状態の確認も追加します。