uokadaの見逃し三振は嫌いです

ここで述べられていることは私の個人的な意見に基づくものであり、私が所属する組織には一切の関係はありません。

PrestoをアップデートしたらHivemetastoreを落としてしまった

うちで運用しているPresto + HivemetastoreのシステムでPrestoを0.174以上に上げてトラブったのでメモ書き。

うちで運用しているシステムっていうのはこれ => https://www.slideshare.net/techblogyahoo/teradata-prestodb

いきなり、結論

Presto 0.174でHivemetastoreに対するキャッシュがデフォルトで無効化されており PrestoのバージョンアップによりHivemetastoreへのリクエストが増えてしまいHivemetastoreを落としてしまった。

バージョンアップ前でも結構ギリギリだったやつがリクエスト増えたせいでHiveサーバーのキャパシティを超えてしまった。

対策

Hive metadataのキャッシュを再度有効化するにはhive.metastore-cache-ttlhive.metastore-refresh-intervalのパラメータを有効にする必要がある。 ただし、これらのパラメータはドキュメントには記載されていない。

presto/HiveClientConfig.java at ba8627aa260c96fefdc9e5f6069f4b86d0b3d45b · prestodb/presto

今回トラブったおかげでこのパラメータのデフォルト値が書かれているクラスのコードを読んだが、 他にもドキュメントに記載されてないパラメータがいくつかあったので改めてコードを読み直したい。

とりあえず、今回のトラブル関わったであろうパラメータ2つについては、ドキュメントに記載して欲しかったのでPRを送っておいた。

Add documentation for Hivemetastore settings by yuokada · Pull Request #9836 · prestodb/presto