1111import casscache
1212
1313from sentry .nodestore .base import NodeStorage
14+ from sentry .utils .cache import memoize
1415
1516
1617class CassandraNodeStorage (NodeStorage ):
@@ -25,22 +26,29 @@ class CassandraNodeStorage(NodeStorage):
2526 """
2627 def __init__ (self , servers , keyspace = 'sentry' ,
2728 columnfamily = 'nodestore' , ** kwargs ):
28- self .conn = casscache .Client (
29- servers = servers ,
30- keyspace = keyspace ,
31- columnfamily = columnfamily ,
32- ** kwargs
29+ self .servers = servers
30+ self .keyspace = keyspace
31+ self .columnfamily = columnfamily
32+ self .options = kwargs
33+ super (CassandraNodeStorage , self ).__init__ ()
34+
35+ @memoize
36+ def connection (self ):
37+ return casscache .Client (
38+ servers = self .servers ,
39+ keyspace = self .keyspace ,
40+ columnfamily = self .columnfamily ,
41+ ** self .options
3342 )
34- super (CassandraNodeStorage , self ).__init__ (** kwargs )
3543
3644 def delete (self , id ):
37- self .conn .delete (id )
45+ self .connection .delete (id )
3846
3947 def get (self , id ):
40- return self .conn .get (id )
48+ return self .connection .get (id )
4149
4250 def get_multi (self , id_list ):
43- return self .conn .get_multi (id_list )
51+ return self .connection .get_multi (id_list )
4452
4553 def set (self , id , data ):
46- self .conn .set (id , data )
54+ self .connection .set (id , data )
0 commit comments