﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
16533	pylibmc cache backend raises an exception for float timeouts	Jeff Balogh	Jeff Balogh	"If the pylibmc is passed a `float` timeout it crashes with `TypeError: integer argument expected, got float`.

  CACHES = {                                                                    
      'default': {                                                              
          'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',       
          'LOCATION': '0:11211',                                                      },                                                                        
      'memcache': {                                                                       'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',     
          'LOCATION': '0:11211',                                                      },                                                                        
  }                                                                                                                                                             
  In [1]: from django.core.cache import get_cache                                                                                                               
  In [2]: get_cache('default').set('a', 1, 1.3)                                   ---------------------------------------------------------------------------   
  TypeError                                 Traceback (most recent call last)                                                                                   
  /Users/jbalogh/dev/zamboni/<ipython console> in <module>()                                                                                                    
  /Users/jbalogh/dev/zamboni/vendor/src/django/django/core/cache/backends/memcached.py in set(self, key, value, timeout, version)
       63     def set(self, key, value, timeout=0, version=None):                      64         key = self.make_key(key, version=version)                     
  ---> 65         self._cache.set(key, value, self._get_memcache_timeout(timeout))       66                                                                       
       67     def delete(self, key, version=None):                                                                                                              
  TypeError: integer argument expected, got float                                                                                                                         
  In [3]: get_cache('memcache').set('a', 1, 1.3)    

I don't condone this behavior but piston triggered the crash and it's a regression from memcache.py"	Bug	closed	Core (Cache system)	1.3	Normal	fixed			Ready for checkin	1	0	0	0	0	0
