code: def refresh_datasources(
              self,
              datasource_name=None,
              merge_flag=True,
              refreshAll=True):
          
          ds_list = self.get_datasources()
          blacklist = conf.get('DRUID_DATA_SOURCE_BLACKLIST', [])
          ds_refresh = []
          if not datasource_name:
              ds_refresh = list(filter(lambda ds: ds not in blacklist, ds_list))
          elif datasource_name not in blacklist and datasource_name in ds_list:
              ds_refresh.append(datasource_name)
          else:
              return
          self.refresh(ds_refresh, merge_flag, refreshAll)
docs: Refresh metadata of all datasources in the cluster
          If ``datasource_name`` is specified, only that datasource is updated