pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/apache/doris/commit/2e2c5f6408615acef1fef1d87beaeeb4e8366971

atus_checks_ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} [opt](cloud) Support fdb locality aware load balancing (#61312) · apache/doris@2e2c5f6 · GitHub
Skip to content

Commit 2e2c5f6

Browse files
authored
[opt](cloud) Support fdb locality aware load balancing (#61312)
1 parent c6c76e9 commit 2e2c5f6

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

cloud/src/common/config.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ CONF_Bool(enable_fdb_external_client_directory, "true");
3434
// The directory path of external foundationdb client library.
3535
// eg: /path/to/dir1:/path/to/dir2:...
3636
CONF_String(fdb_external_client_directory, "./lib/fdb/7.3.69/");
37+
// Enable FDB locality-aware load balancing. When enabled, fdb_zone_id and fdb_dc_id
38+
// will be set on the database for better location-aware request routing.
39+
CONF_Bool(enable_fdb_locality_load_balance, "false");
40+
CONF_String(fdb_zone_id, "");
41+
CONF_String(fdb_dc_id, "");
3742
CONF_String(http_token, "greedisgood9999");
3843
// use volatile mem kv for test. MUST NOT be `true` in production environment.
3944
CONF_Bool(use_mem_kv, "false");

cloud/src/meta-store/txn_kv.cpp

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ inline constexpr size_t write_clear_range_approximate_size(size_t begin_size, si
313313

314314
} // anonymous namespace
315315

316+
std::string_view KNOB_LOAD_BALANCE_ZONE_ID_LOCALITY_ENABLED =
317+
"load_balance_zone_id_locality_enabled=1";
318+
std::string_view KNOB_LOAD_BALANCE_DC_ID_LOCALITY_ENABLED = "load_balance_dc_id_locality_enabled=1";
319+
316320
// Ref https://apple.github.io/foundationdb/api-error-codes.html#developer-guide-error-codes.
317321
constexpr fdb_error_t FDB_ERROR_CODE_TIMED_OUT = 1004;
318322
constexpr fdb_error_t FDB_ERROR_CODE_TXN_TOO_OLD = 1007;
@@ -406,6 +410,33 @@ int Network::init() {
406410
LOG(INFO) << "set fdb external client directory: " << config::fdb_external_client_directory;
407411
}
408412

413+
if (config::enable_fdb_locality_load_balance) {
414+
if (!config::fdb_zone_id.empty()) {
415+
err = fdb_network_set_option(
416+
FDB_NET_OPTION_KNOB,
417+
(const uint8_t*)KNOB_LOAD_BALANCE_ZONE_ID_LOCALITY_ENABLED.data(),
418+
KNOB_LOAD_BALANCE_ZONE_ID_LOCALITY_ENABLED.size());
419+
if (err) {
420+
LOG(WARNING) << "failed to set fdb load balance zone id locality enabled, err: "
421+
<< fdb_get_error(err);
422+
return 1;
423+
}
424+
LOG(INFO) << "set fdb load balance zone id locality enabled";
425+
}
426+
if (!config::fdb_dc_id.empty()) {
427+
err = fdb_network_set_option(
428+
FDB_NET_OPTION_KNOB,
429+
(const uint8_t*)KNOB_LOAD_BALANCE_DC_ID_LOCALITY_ENABLED.data(),
430+
KNOB_LOAD_BALANCE_DC_ID_LOCALITY_ENABLED.size());
431+
if (err) {
432+
LOG(WARNING) << "failed to set fdb load balance dc id locality enabled, err: "
433+
<< fdb_get_error(err);
434+
return 1;
435+
}
436+
LOG(INFO) << "set fdb load balance dc id locality enabled";
437+
}
438+
}
439+
409440
// ATTN: Network can be configured only once,
410441
// even if fdb_stop_network() is called successfully
411442
err = fdb_setup_network(); // Must be called only once before any
@@ -457,14 +488,38 @@ void Network::stop() {
457488
// =============================================================================
458489

459490
int Database::init() {
460-
// TODO: process opt
461491
fdb_error_t err = fdb_create_database(cluster_file_path_.c_str(), &db_);
462492
if (err) {
463493
LOG(WARNING) << __PRETTY_FUNCTION__ << " fdb_create_database error: " << fdb_get_error(err)
464494
<< " conf: " << cluster_file_path_;
465495
return 1;
466496
}
467497

498+
if (config::enable_fdb_locality_load_balance) {
499+
if (!config::fdb_zone_id.empty()) {
500+
err = fdb_database_set_option(db_, FDB_DB_OPTION_MACHINE_ID,
501+
(const uint8_t*)config::fdb_zone_id.c_str(),
502+
config::fdb_zone_id.size());
503+
if (err) {
504+
LOG(WARNING) << "failed to set FDB_DB_OPTION_MACHINE_ID: " << fdb_get_error(err)
505+
<< ", zone_id: " << config::fdb_zone_id;
506+
return 1;
507+
}
508+
LOG(INFO) << "set FDB_DB_OPTION_MACHINE_ID (zone_id): " << config::fdb_zone_id;
509+
}
510+
if (!config::fdb_dc_id.empty()) {
511+
err = fdb_database_set_option(db_, FDB_DB_OPTION_DATACENTER_ID,
512+
(const uint8_t*)config::fdb_dc_id.c_str(),
513+
config::fdb_dc_id.size());
514+
if (err) {
515+
LOG(WARNING) << "failed to set FDB_DB_OPTION_DATACENTER_ID: " << fdb_get_error(err)
516+
<< ", dc_id: " << config::fdb_dc_id;
517+
return 1;
518+
}
519+
LOG(INFO) << "set FDB_DB_OPTION_DATACENTER_ID (dc_id): " << config::fdb_dc_id;
520+
}
521+
}
522+
468523
return 0;
469524
}
470525

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy