VarnishCache3.0.2がリリースされました。
今回はバグ修正がほとんどですが一点言語仕様に変更があります。
変更内容
A crasher bug when requests were queued and the backend sent a response with Vary has been fixed
リクエストがキューイングされている状態でバックエンドがVaryを返却する場合
内部でVaryの情報がうまく扱えずクラッシュするバグを修正しました。
A crash when a too large synthetic response was produced has been fixed.
レスポンスの説明句が長いなどが原因で最終的に返すサイズがhttp_resp_sizeを超えた場合
クラッシュする問題を修正しました。
The ban lurker now properly sleeps the 1 second it is supposed to
ban lurkerがなにもしないときは適切にスリープ(1秒)するようになりました。
Varnish now releases disk space properly if no -s argument is provided, and the default cache size is now 100MB instead of 50% of the available disk space
ストレージファイルを作成する際に不要なストレージを削除するようにしました。
またファイルストレージのデフォルトのキャッシュサイズをディスクの空き容量の50%から100MBに変更しました。
気になった修正点
詳細の修正内容が書いてあるchangesより気になるものがありましたので書いてみます。
REAL型の比較に対応
3.0.1まででは変数の型がREAL(浮動小数点型:Cでのdouble)の場合比較できませんでした。
この型は僕が知っている限りVMODで使われているだけです。
ちなみに3.0.1の時はこんな感じででます
VCL(~3.0.1)
if( std.random(1.1,10.2)>1.1){std.log("hello");}
コンパイル時(~3.0.1)
Message from VCC-compiler: Operator > not possible on REAL ('input' Line 26 Pos 25) if( std.random(1.1,10.2)>1.1){std.log("hello");} ------------------------#----------------------- Running VCC-compiler failed, exit 1
3.0.2では正常にコンパイルできます
他にも細かいですが重要なバグフィックスがあるので3.0.1を利用している人はアップデートしたほうがよいでしょう