From 2ec0d49a9f856cfe0903f352e3395b556a20b2cc Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Tue, 3 May 2016 22:37:53 -0700 Subject: [PATCH 1/2] Attempting to fix #412 --- caravel/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/caravel/models.py b/caravel/models.py index 4abc2a01426e9..8bffc6193cd37 100644 --- a/caravel/models.py +++ b/caravel/models.py @@ -1008,6 +1008,7 @@ def sync_to_db(cls, name, cluster): else: flasher("Refreshing datasource [{}]".format(name), "info") datasource.cluster = cluster + session.flush() cols = datasource.latest_metadata() if not cols: From 99deb494512f8b1c534565e63f1d27400caf5137 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Tue, 10 May 2016 09:27:08 -0700 Subject: [PATCH 2/2] More flushes --- caravel/models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/caravel/models.py b/caravel/models.py index 8bffc6193cd37..7f498be90717c 100644 --- a/caravel/models.py +++ b/caravel/models.py @@ -1007,8 +1007,8 @@ def sync_to_db(cls, name, cluster): flasher("Adding new datasource [{}]".format(name), "success") else: flasher("Refreshing datasource [{}]".format(name), "info") - datasource.cluster = cluster session.flush() + datasource.cluster = cluster cols = datasource.latest_metadata() if not cols: @@ -1029,8 +1029,10 @@ def sync_to_db(cls, name, cluster): col_obj.filterable = True if col_obj: col_obj.type = cols[col]['type'] + session.flush() col_obj.datasource = datasource col_obj.generate_metrics() + session.flush() def query( # druid self, groupby, metrics, @@ -1383,7 +1385,7 @@ def generate_metrics(self): metric.datasource_name = self.datasource_name if not m: session.add(metric) - session.commit() + session.flush() class FavStar(Model):