GAE/JRubyでmemcacheが適切に失効しない件

 こんにちは。那由多屋の加藤です。

 先日のエントリ「GAE/JRubyでハマったところ」に書いた「memcacheが失効しない」件が解決しました!

 丹念にソースコードを追ったところ、appengine-apis-0.0.12に原因を発見。AppEngine::Memcache#put内にtypoが・・・。「expiration」が「expiriation」になっているYO!

 というわけで、下記のモンキーパッチでひとまず対処できます。

module AppEngine
  class Memcache
    def put(key, value, expiration, mode)
      check_write
      convert_exceptions do
        key = memcache_key(key)
        value = memcache_value(value)
        expiration = memcache_expiration(expiration)
        service.put(key, value, expiration, mode)
      end
    end
  end
end

 誰かバグレポートを送ってくれたりしないかな。(ぼそり