2016-07-27 13 views
0

node-ttlとnode-purge-ttlがどのように動作するのかちょっと混乱します。私はそれらをdatabase.iniファイルに設定しています。 node-ttlは35mに設定され、node-purge-ttlは5mに設定されます。 puppetdbのドキュメントから、私は、これらの設定では、35分の休止後にノードが期限切れになるという結論を導き出します。ノードが死んでいて、35分間masterにチェックインしていない.5分後にノードをdbからパージする必要がある。puppetdb node-ttlが期待通りに動作しない

しかし、これは起こっていないようです。ノードは、それが終了してから40分以上経過してもまだ生きているように見えています。ただし、ノードがgc-intervalに従って圧縮を実行した後にノードが消えているように見えます。

この機能を正しく理解していますか?私がいれば、何が間違っているのですか?私は最新バージョンのpuppetdbとpuppetserverを使用しています。

これらは私のdatabase.iniファイルで設定するパラメータです:

# How often (in minutes) to compact the database 
# gc-interval = 60 
gc-interval = 60 

# Number of seconds before any SQL query is considered 'slow'; offending 
# queries will not be interrupted, but will be logged at the WARN log level. 
log-slow-statements = 10 
syntax_pgs = true 
node-ttl = 35m 
node-purge-ttl = 5m 
report-ttl = 14d 
conn-max-age = 60 
conn-keep-alive = 45 
conn-lifetime = 0 

答えて

1

TTL設定がGCプロセスの動作を変更します。 gcが実行されると(gc-interval分ごとに)、これらのオプションを調べて、どのノードを非アクティブ化し、どのノードをまっすぐに削除するかを決定します。

gcプロセス自体がデータをクリーンアップするので、次回gcが発生するまで変更が表示されません。 Quoth the docs: "gc-interval分ごとにノードが失効するかどうかがチェックされます"。

だから、基本的に間違ったことはしていません! dbクリーンアップが即座に行われるのではなく、むしろ定期的に実行されるということです。

+0

ありがとうございます。だから、基本的には、私はノードがより速く消えたい場合は、おそらくより頻繁に起こるように、gc間隔を設定する必要があります... –

関連する問題