File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -37,6 +37,10 @@ def success(self, value):
3737 self .is_done = True
3838 if self ._callbacks :
3939 self ._call_backs ('callback' , self ._callbacks , self .value )
40+ # Clearing the lists releases any reference cycle held via stored
41+ # bound methods (e.g. FutureProduceResult<->FutureRecordMetadata).
42+ self ._callbacks = None
43+ self ._errbacks = None
4044 return self
4145
4246 def failure (self , e ):
@@ -48,6 +52,10 @@ def failure(self, e):
4852 self .exception = exception
4953 self .is_done = True
5054 self ._call_backs ('errback' , self ._errbacks , self .exception )
55+ # Clearing the lists releases any reference cycle held via stored
56+ # bound methods (e.g. FutureProduceResult<->FutureRecordMetadata).
57+ self ._callbacks = None
58+ self ._errbacks = None
5159 return self
5260
5361 def add_callback (self , f , * args , ** kwargs ):
You can’t perform that action at this time.
0 commit comments