@@ -930,9 +930,29 @@ seastar::future<admin_query_result> admin_actor::start_service(
930930 return seastar::make_ready_future<admin_query_result>(
931931 gs::Result<seastar::sstring>(plugins_res.status ()));
932932 }
933+ // Note that the plugin meta contains both builtin and user-defined plugins,
934+ // we need to remove the builtin plugins from the plugin meta.
935+ auto & graph_meta = get_graph_res.value ();
936+ auto & additional_plugins = plugins_res.value ();
937+ const auto & all_builtin_plugins = gs::get_builtin_plugin_metas ();
938+ for (const auto & builtin_plugin : all_builtin_plugins) {
939+ auto it =
940+ std::remove_if (additional_plugins.begin (), additional_plugins.end (),
941+ [&builtin_plugin](const gs::PluginMeta& plugin_meta) {
942+ return plugin_meta.id == builtin_plugin.id ;
943+ });
944+ additional_plugins.erase (it, additional_plugins.end ());
945+ auto it2 = std::remove_if (
946+ graph_meta.plugin_metas .begin (), graph_meta.plugin_metas .end (),
947+ [&builtin_plugin](const gs::PluginMeta& plugin_meta) {
948+ return plugin_meta.id == builtin_plugin.id ;
949+ });
950+ graph_meta.plugin_metas .erase (it2, graph_meta.plugin_metas .end ());
951+ }
952+
933953 // With all enabled plugins and graph schema, dump to a new schema file.
934- auto dump_res = WorkDirManipulator::DumpGraphSchema (get_graph_res. value (),
935- plugins_res. value () );
954+ auto dump_res =
955+ WorkDirManipulator::DumpGraphSchema (graph_meta, additional_plugins );
936956 if (!dump_res.ok ()) {
937957 LOG (ERROR) << " Fail to dump graph schema: "
938958 << dump_res.status ().error_message ();
0 commit comments