@@ -514,9 +514,9 @@ impl Metastore for ObjectStoreMetastore {
514514
515515 /// Fetch all dashboards
516516 async fn get_dashboards ( & self ) -> Result < HashMap < String , Vec < Bytes > > , MetastoreError > {
517- let mut dashboards = HashMap :: new ( ) ;
517+ let mut dashboards: HashMap < String , Vec < Bytes > > = HashMap :: new ( ) ;
518518 let base_paths = PARSEABLE . list_tenants ( ) . unwrap_or_else ( || vec ! [ "" . into( ) ] ) ;
519- for mut tenant in base_paths {
519+ for tenant in base_paths {
520520 let tenant_id = & Some ( tenant. clone ( ) ) ;
521521 let users_dir = RelativePathBuf :: from_iter ( [ & tenant, USERS_ROOT_DIR ] ) ;
522522 for user in self
@@ -533,11 +533,16 @@ impl Metastore for ObjectStoreMetastore {
533533 tenant_id,
534534 )
535535 . await ?;
536- if tenant. is_empty ( ) {
537- tenant. clone_from ( & DEFAULT_TENANT . to_string ( ) ) ;
538- }
539- dashboards. insert ( tenant. to_owned ( ) , dashboard_bytes) ;
540- // dashboards.extend(dashboard_bytes);
536+
537+ let tenant_key = if tenant. is_empty ( ) {
538+ DEFAULT_TENANT . to_string ( )
539+ } else {
540+ tenant. clone ( )
541+ } ;
542+ dashboards
543+ . entry ( tenant_key)
544+ . or_default ( )
545+ . extend ( dashboard_bytes) ;
541546 }
542547 }
543548
@@ -690,7 +695,19 @@ impl Metastore for ObjectStoreMetastore {
690695
691696 if version == Some ( "v1" ) {
692697 // delete older version of the filter
693- self . storage . delete_object ( & filters_path, tenant_id) . await ?;
698+ // get filter id to delete
699+ let filterid = meta
700+ . get ( "filter_id" )
701+ . and_then ( |filter_id| filter_id. as_str ( ) ) ;
702+ if let Some ( filterid) = filterid {
703+ self . storage
704+ . delete_object (
705+ & filters_path. join ( format ! ( "{filterid}.json" ) ) ,
706+ tenant_id,
707+ )
708+ . await ?;
709+ }
710+ // self.storage.delete_object(&filters_path, tenant_id).await?;
694711
695712 filter_value = migrate_v1_v2 ( filter_value) ;
696713 let user_id = filter_value
0 commit comments