From 7a7eb3334834e014aff0adbec2fd558199827c98 Mon Sep 17 00:00:00 2001 From: Kim Pham Date: Fri, 25 Mar 2016 13:44:35 -0700 Subject: [PATCH] Disable Datasource sql polymorphism & Fix refresh Druid metadata. --- dashed/models.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dashed/models.py b/dashed/models.py index 878b5f99f3b93..f67edd77b8003 100644 --- a/dashed/models.py +++ b/dashed/models.py @@ -840,8 +840,12 @@ def latest_metadata(self): return max_time = results[0]['result']['maxTime'] max_time = parse(max_time) - intervals = (max_time - timedelta(seconds=1)).isoformat() + '/' - intervals += (max_time + timedelta(seconds=1)).isoformat() + # Query segmentMetadata for 7 days back. However, due to a bug, + # we need to set this interval to more than 1 day ago to exclude realtime segments, which + # trigged a bug (fixed in druid 0.8.2). + # https://groups.google.com/forum/#!topic/druid-user/gVCqqspHqOQ + intervals = (max_time - timedelta(days=7)).isoformat() + '/' + intervals += (max_time - timedelta(days=1)).isoformat() segment_metadata = client.segment_metadata( datasource=self.datasource_name, intervals=intervals) @@ -1114,7 +1118,8 @@ class DruidColumn(Model): datasource_name = Column( String(250), ForeignKey('datasources.datasource_name')) - datasource = relationship('DruidDatasource', backref='columns') + # Setting enable_typechecks=False disables polymorphic inheritance. + datasource = relationship('DruidDatasource', backref='columns', enable_typechecks=False) column_name = Column(String(256)) is_active = Column(Boolean, default=True) type = Column(String(32))