{"id":685,"date":"2011-08-31T02:15:54","date_gmt":"2011-08-30T17:15:54","guid":{"rendered":"http:\/\/blog.xcir.net\/?p=685"},"modified":"2011-08-31T02:24:20","modified_gmt":"2011-08-30T17:24:20","slug":"varnish-cache3-0-1%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%be%e3%81%97%e3%81%9f","status":"publish","type":"post","link":"https:\/\/blog.xcir.net\/?p=685","title":{"rendered":"Varnish Cache3.0.1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f"},"content":{"rendered":"<p>Varnish Cache3.0.1\u304c\u516c\u958b\u3055\u308c\u307e\u3057\u305f\u3002<br \/>\n\u4e3b\u306b\u30d0\u30b0\u4fee\u6b63\u304b\u3068\u304a\u3082\u3044\u304d\u3084\u5b09\u3057\u3044\u6a5f\u80fd\u8ffd\u52a0\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u50d5\u306f\u82f1\u8a9e\u304c\u82e6\u624b\u3067\u66f8\u3044\u3066\u308b\u6642\u70b9\u3067\u5909\u66f4\u306e\u691c\u8a3c\u304c\u7d42\u308f\u3063\u3066\u306a\u3044\u306e\u3067<br \/>\n\u52d8\u9055\u3044\u3057\u3066\u3044\u308b\u8a33\u304c\u3042\u3063\u305f\u3089\u6559\u3048\u3066\u4e0b\u3055\u3044\u30fb\u30fb\u30fb<\/p>\n<p><a href=\"https:\/\/www.varnish-cache.org\/releases\/varnish-cache-3.0.1\">Varnish Cache releases<\/a><\/p>\n<p><!--more--><\/p>\n<blockquote><p>Objects with grace and keep set were mistakenly seen as candidates for the shortlived storage, but would not be cleaned up quickly, something that manifested as if there was a memory leak. This is now fixed.<\/p><\/blockquote>\n<p>Transient\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u304a\u3044\u3066\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u306e\u3088\u3046\u306a\u73fe\u8c61\u304c\u8d77\u304d\u308b\u30d0\u30b0\u3092\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3053\u306e\u4ef6\u3067\u3059\u306d<br \/>\n<a href=\"http:\/\/blog.xcir.net\/?p=471\">Varnish3\u3067\u591a\u304f\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u6301\u3064\u30b5\u30a4\u30c8\u3092\u904b\u55b6\u3059\u308b\u3068\u304d\u306b\u6ce8\u610f\u3059\u308b\u3079\u304d\u305f\u3063\u305f\u4e00\u3064\u306e\u3053\u3068(Transient storage)<\/a><\/p>\n<blockquote><p>When multiple clients were waiting for an object, all clients would be woken up when an object became available, leading to stuck threads. This has now been fixed<\/p><\/blockquote>\n<p>\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u3066\u3044\u306a\u3044\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u540c\u6642\u306b\u8907\u6570\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u53d6\u5f97\u3057\u3088\u3046\u3068\u3057\u3066\u3001<br \/>\n\u5e7e\u3064\u304b\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u5f85\u6a5f\u3057\u3066\u3044\u308b\u5834\u5408\u306b\u304a\u3044\u3066\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u8fd4\u5374\u3067\u304d\u308b\u72b6\u614b\u306b\u306a\u3063\u305f\u5834\u5408<br \/>\n\u5168\u3066\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u9001\u4fe1\u3057\u3088\u3046\u3068\u3057\u30b9\u30bf\u30c3\u30af\u3059\u308b\u554f\u984c\u306b\u3064\u3044\u3066\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>\n<blockquote><p>A bug in how XML entities were handled with ESI has been fixed<\/p><\/blockquote>\n<p>ESI\u30d1\u30fc\u30b5\u306b\u30d0\u30b0\u304c\u3042\u3063\u305f\u306e\u3067\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>\n<blockquote><p>The documentation has seen numerous updates<\/p><\/blockquote>\n<p>\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u591a\u6570\u4fee\u6b63\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<blockquote><p>varnishncsa is now more stable and has support for showing arbitrary request and response fields<\/p><\/blockquote>\n<p>varnichncsa\u30b3\u30de\u30f3\u30c9\u306f\u66f4\u306b\u5b89\u5b9a\u3057\u3001\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6307\u5b9a\u3067<strong>\u4efb\u610f\u306e\u30d8\u30c3\u30c0\u3092\u6307\u5b9a<\/strong>\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f<\/p>\n<p>3.0.0\u3067%{XX}i\u306b\u304a\u3044\u3066Referer,Host,X-Forwarded-For,User-agent\u3057\u304b\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u304c<br \/>\n\u3069\u308c\u3067\u3082\u884c\u3051\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>&#8212;<br \/>\n<a href=\"https:\/\/www.varnish-cache.org\/trac\/browser\/doc\/changes.rst\">\u30c1\u30a7\u30f3\u30b8\u30ed\u30b0<\/a>\u306e\u65b9\u306b\u3082\u6c17\u306b\u306a\u308b\u4fee\u6b63\u304c\u5e7e\u3064\u304b\u3042\u308b\u306e\u3067\u629c\u7c8b\u3057\u307e\u3059<\/p>\n<h4>\u30d0\u30b0\u4fee\u6b63<\/h4>\n<blockquote><p>Fix crash in streaming code.<\/p><\/blockquote>\n<p>\u30b9\u30c8\u30ea\u30fc\u30e0\u5229\u7528\u6642\u306b\u30af\u30e9\u30c3\u30b7\u30e5\u3059\u308b\u554f\u984c\u3092\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<br \/>\ntokyo.vcl\u306e\u6642\u306b\u5c11\u3057\u8a71\u3057\u305f\u30b9\u30c8\u30ea\u30fc\u30e0\u304c\u306a\u305c\u304bpanic\u3059\u308b\u4ef6\u3060\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u3042\u3068\u3067\u691c\u8a3c\u3057\u3088\u3046\u3068\u601d\u3063\u3066\u307e\u3059\u3002<\/p>\n<blockquote><p>If a request was restarted from vcl_miss or vcl_pass it would crash. This has been fixed. Bug #965.<\/p><\/blockquote>\n<p>vcl_miss,pass\u3067restart\u3092\u884c\u3046\u3068\u30af\u30e9\u30c3\u30b7\u30e5\u3059\u308b\u30d0\u30b0\u306e\u4fee\u6b63<\/p>\n<blockquote><p>The hash and client directors would mistakenly retry fetching an object from the same backend unless health probes were enabled. This has been fixed and it will now retry a different backend.<\/p><\/blockquote>\n<p>probe\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408Hash,Client\u30c7\u30a3\u30ec\u30af\u30bf\u30fc\u3067\u30d5\u30a7\u30c3\u30c1\u518d\u8a66\u884c\u306e\u6642\u306b\u540c\u3058\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u5bfe\u3057\u3066\u30d5\u30a7\u30c3\u30c1\u3059\u308b\u3053\u3068\u304c\u3042\u3063\u305f\u306e\u3092\u4fee\u6b63<\/p>\n<h4>\u65b0\u6a5f\u80fd<\/h4>\n<blockquote><p>Add fallback director, as a variant of the round-robin director.<\/p><\/blockquote>\n<p>fallback director\u304c\u5897\u3048\u307e\u3057\u305f\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u6307\u5b9a\u306fround-robin\u3068\u540c\u69d8\u3067\u3059\u3002<\/p>\n<p>\u8981\u306f\u6700\u521d\u306e\u5b9a\u7fa9\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u5e38\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u304c\u3001\u3082\u3057\u305d\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u304c\u843d\u3061\u305f\u5834\u5408<br \/>\n\u4e8c\u756a\u76ee\u306e\u5b9a\u7fa9\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u7e2e\u9000\uff08\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\uff09\u3057\u307e\u3059\u3002<br \/>\n\u4e8c\u756a\u76ee\u3082\u843d\u3061\u305f\u5834\u5408\u3082\u305d\u308c\u4ee5\u964d\u306b\u7e2e\u9000\u3057\u307e\u3059\u3002<br \/>\n\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5b9a\u7fa9\u3067\u3059<\/p>\n<pre class=\"brush: plain; \">\n\r\n       director b3 fallback {\r\n         { .backend = www1; }\r\n         { .backend = www2; } \/\/ www1\u304csick\u306e\u72b6\u614b\u306e\u6642\u306b\u4f7f\u7528\u3055\u308c\u308b\r\n         { .backend = www3; } \/\/ www1\u3068www2\u306e\u4e21\u65b9\u304csick\u306e\u72b6\u614b\u306e\u6642\u306b\u4f7f\u7528\u3055\u308c\u308b\r\n       }\r\n\n<\/pre>\n<p>\u3061\u306a\u307f\u306b3.0.0\u307e\u3067\u3060\u3068\u3053\u3093\u306a\u8a18\u8ff0\u3067\u8868\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; \">\n\r\nset req.backend = www1;\r\nif(!req.backend.healthy){\r\n    set req.backend = www2;\r\n    if(!req.backend.healthy){\r\n        set req.backend = www3;        \r\n    }\r\n}\r\n\n<\/pre>\n<p>\u4e00\u756a\u601d\u3044\u6d6e\u304b\u3079\u3084\u3059\u3044\u4f7f\u3044\u65b9\u3068\u3057\u3066sorry\u30da\u30fc\u30b8\u306a\u3069\u304c\u3042\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h4>\u5909\u66f4<\/h4>\n<blockquote><p>http_resp_hdr_len and http_req_hdr_len were set to too low values leading to clients receiving HTTP 400 Bad Request errors. The limit has been increased and the error code is now HTTP 413 Request entity too large.<\/p><\/blockquote>\n<p>\u30d8\u30c3\u30c0\u30b5\u30a4\u30ba\u304c\u8a2d\u5b9a\u5024\uff08http_resp_hdr_len\u3068http_req_hdr_len\uff09\u3092\u8d85\u3048\u305f\u5834\u5408\u306b<br \/>\nHTTP400 BadRequest\u3067\u306f\u306a\u304fHTTP413 Request entity too large\u3092\u8fd4\u5374\u3059\u308b\u3088\u3046\u306b\u5909\u66f4<\/p>\n<p>\u30ed\u30b0\u3092\u53d6\u5f97\u3057\u3066\u3044\u3066413\u304c\u51fa\u305f\u5834\u5408\u3067\u6b63\u5f53\u306a\u30a2\u30af\u30bb\u30b9\u306e\u5834\u5408<br \/>\n\u8a72\u5f53\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30b5\u30a4\u30ba\u3092\u5927\u304d\u304f\u3059\u308b\u3068\u3044\u3063\u305f\u5224\u65ad\u304c\u3067\u304d\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<blockquote><p>The ABI of vmods are now checked. This will require a rebuild of all vmods against the new version of Varnish.<\/p><\/blockquote>\n<p>ABI\u304c\u5909\u66f4\u3055\u308c\u305f\u305f\u3081\u65e7\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u30d3\u30eb\u30c9\u3055\u308c\u305f<strong>VMOD\u306e\u518d\u30d3\u30eb\u30c9\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059<\/strong><\/p>\n<blockquote><p>varnishlog -r now works correctly again and no longer opens the shared log file of the running Varnish.<\/p><\/blockquote>\n<p>varnishlog\u3067-r\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u5fa9\u6d3b\u3057\u307e\u3057\u305f<\/p>\n<div class='wp_social_bookmarking_light'>        <div class=\"wsbl_hatena\"><a href='\/\/b.hatena.ne.jp\/add?mode=confirm&url=https%3A%2F%2Fblog.xcir.net%2F%3Fp%3D685&title=Varnish%20Cache3.0.1%E3%81%8C%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/blog.xcir.net\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/hatena.gif' alt='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' width='16' height='12' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_hatena_users\"><a href='\/\/b.hatena.ne.jp\/entry\/https:\/\/blog.xcir.net\/?p=685' title='\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - Varnish Cache3.0.1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='\/\/b.hatena.ne.jp\/entry\/image\/https:\/\/blog.xcir.net\/?p=685' alt='\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - Varnish Cache3.0.1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f' title='\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - Varnish Cache3.0.1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f'   class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=https%3A%2F%2Fblog.xcir.net%2F%3Fp%3D685&t=Varnish%20Cache3.0.1%E3%81%8C%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/blog.xcir.net\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_linkedin\"><a href='\/\/www.linkedin.com\/shareArticle?mini=true&url=https%3A%2F%2Fblog.xcir.net%2F%3Fp%3D685&title=Varnish%20Cache3.0.1%E3%81%8C%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F' title='LinkedIn \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/blog.xcir.net\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/linkedin.png' alt='LinkedIn \u306b\u30b7\u30a7\u30a2' title='LinkedIn \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/blog.xcir.net\/?p=685\" data-text=\"Varnish Cache3.0.1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\" data-lang=\"ja\">Tweet<\/a><\/div><\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>Varnish Cache3.0.1\u304c\u516c\u958b\u3055\u308c\u307e\u3057\u305f\u3002 \u4e3b\u306b\u30d0\u30b0\u4fee\u6b63\u304b\u3068\u304a\u3082\u3044\u304d\u3084\u5b09\u3057\u3044\u6a5f\u80fd\u8ffd\u52a0\u3082\u3042\u308a\u307e\u3059\u3002 \u50d5\u306f\u82f1\u8a9e\u304c\u82e6\u624b\u3067\u66f8\u3044\u3066\u308b\u6642\u70b9\u3067\u5909\u66f4\u306e\u691c\u8a3c\u304c\u7d42\u308f\u3063\u3066\u306a\u3044\u306e\u3067 \u52d8\u9055\u3044\u3057\u3066\u3044\u308b\u8a33\u304c\u3042\u3063\u305f\u3089\u6559\u3048\u3066\u4e0b\u3055\u3044\u30fb\u30fb\u30fb Va <a href='https:\/\/blog.xcir.net\/?p=685' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[5,31,32],"class_list":["post-685","post","type-post","status-publish","format-standard","hentry","category-3","tag-varnish","tag-varnish3-0-1","tag-32","category-3-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"_links":{"self":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts\/685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=685"}],"version-history":[{"count":7,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts\/685\/revisions"}],"predecessor-version":[{"id":693,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts\/685\/revisions\/693"}],"wp:attachment":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}