From 185cde435423d47a1ad217892e3b1de85e384b62 Mon Sep 17 00:00:00 2001 From: Sun Wei Date: Thu, 28 Dec 2017 17:12:46 +0800 Subject: [PATCH] HBaseState flush when frontier stop flush method in HBaseState invoked every 5 minutes by default settings to save cache state into meta table, add frontier_stop method to prevent state loss from memory cache dict when sw instance terminated. --- frontera/contrib/backends/hbase.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontera/contrib/backends/hbase.py b/frontera/contrib/backends/hbase.py index ede89e3a1..f88014298 100644 --- a/frontera/contrib/backends/hbase.py +++ b/frontera/contrib/backends/hbase.py @@ -297,7 +297,10 @@ def get(obj): fprint = obj.meta[b'fingerprint'] obj.meta[b'state'] = self._state_cache[fprint] if fprint in self._state_cache else States.DEFAULT [get(obj) for obj in objs] - + + def frontier_stop(self): + self.flush(True) + def flush(self, force_clear): if len(self._state_cache) > self._cache_size_limit: force_clear = True