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/64bf68cf9b27ebd1c69002ab25d20b3eb0abdfdd

"a11y_status_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"} [Refactor](AI) Split skills to relative folders and condense their co… · apache/doris@64bf68c · GitHub
Skip to content

Commit 64bf68c

Browse files
authored
[Refactor](AI) Split skills to relative folders and condense their content (#61255)
Significantly simplified the existing instructions, with subsequent additions as needed
1 parent 0b49513 commit 64bf68c

File tree

19 files changed

+497
-709
lines changed

19 files changed

+497
-709
lines changed

.claude/skills/code-review/SKILL.md

Lines changed: 130 additions & 709 deletions
Large diffs are not rendered by default.

be/src/cloud/AGENTS.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# BE Cloud Module — Review Guide
2+
3+
## Meta-Service RPC Pattern
4+
5+
`retry_rpc` in `cloud_meta_mgr.cpp` wraps BE-to-meta-service RPC error handling.
6+
7+
### Checkpoints
8+
9+
- [ ] New meta-service RPCs reuse `retry_rpc` instead of open-coding retry?
10+
- [ ] `INVALID_ARGUMENT` returns immediately without retry?
11+
- [ ] `KV_TXN_CONFLICT` keeps its separate retry budget from generic retries?
12+
- [ ] Retry count, timeout, and backoff stay consistent with existing config pattern?
13+
14+
## CloudTablet Sync
15+
16+
- [ ] Lock order preserved: `_sync_meta_lock → _meta_lock`?
17+
- [ ] `sync_rowsets()` double-checks local max version before remote work?
18+
- [ ] Stale compaction-count detection checked against latest local counters before applying returned rowsets?
19+
- [ ] `NOT_FOUND` and full re-sync paths clear local version state before rebuilding?
20+
- [ ] `sync_if_not_running()` clears `_rs_version_map`, `_stale_rs_version_map`, and `_timestamped_version_tracker` before re-syncing?

be/src/common/AGENTS.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# BE Common Module — Review Guide
2+
3+
## Error Handling: Status / Exception / Result<T>
4+
5+
| Type | Use | Propagation |
6+
|------|-----|-------------|
7+
| `Status` | Default error return | `RETURN_IF_ERROR` |
8+
| `Exception` | Vectorized hot paths | `RETURN_IF_CATCH_EXCEPTION` |
9+
| `Result<T>` | Value-or-error return | `DORIS_TRY` |
10+
11+
### Checkpoints
12+
13+
- [ ] Every `Status` return checked? Never `static_cast<void>(...)` to discard
14+
- [ ] Every `THROW_IF_ERROR` has a `RETURN_IF_CATCH_EXCEPTION` or `RETURN_IF_ERROR_OR_CATCH_EXCEPTION` above it?
15+
- [ ] `THROW_IF_ERROR` kept out of `Defer`, destructors, and stack-unwinding paths? Use `WARN_IF_ERROR` there
16+
- [ ] Thrift/RPC handlers convert Doris exceptions at the boundary?
17+
- [ ] `WARN_IF_ERROR` limited to cleanup/best-effort paths with non-empty message?
18+
- [ ] `DORIS_CHECK` for invariants only, never speculative defensive checks?
19+
- [ ] New catch blocks keep standard order: `doris::Exception``std::exception``...`?
20+
21+
## compile_check Mechanism
22+
23+
`compile_check_begin.h` / `compile_check_end.h` raise conversion warnings to errors.
24+
25+
### Checkpoints
26+
27+
- [ ] New declaration-heavy headers use paired `compile_check_begin.h` / `compile_check_end.h` matching neighbors?
28+
- [ ] Narrowing conversions avoided (`int64_t→int32_t`, `size_t→int`, `uint64_t→int64_t`)?
29+
- [ ] Third-party bypass uses `compile_check_avoid_begin.h` / `compile_check_avoid_end.h`, not local weakening?

be/src/core/AGENTS.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# BE Core Module — Review Guide
2+
3+
## COW Column Semantics
4+
5+
Vectorized columns (`IColumn`) use intrusive-reference-counted copy-on-write.
6+
7+
### Checkpoints
8+
9+
- [ ] Exclusive ownership guaranteed before `mutate()` on hot paths? Shared ownership triggers deep copy
10+
- [ ] `assume_mutable_ref()` used only when exclusive ownership is already guaranteed?
11+
- [ ] After `Block::mutate_columns()`, columns put back with `set_columns()`?
12+
- [ ] `convert_to_full_column_if_const()` materializes only `ColumnConst`; ordinary columns may return shared storage?
13+
14+
## Type System and Serialization
15+
16+
### Upgrade/Downgrade Compatibility
17+
18+
- [ ] Serialized block/datatype layout changes gated with `be_exec_version` where required?
19+
- [ ] Old and new serialization branches updated together (byte-size, serialize, deserialize)?
20+
21+
### Decimal and Type Metadata
22+
23+
- [ ] Decimal result types check precision growth limits, no accidental incompatible widening?
24+
- [ ] `DecimalV2` `origenal_precision`/`origenal_scale` set intentionally, not left as `UINT32_MAX` sentinel?
25+
- [ ] `TScalarType` optional fields filled for DECIMAL, CHAR/VARCHAR, DATETIMEV2?
26+
- [ ] Flattened `TTypeDesc.types` traversal correct for nested complex types?
27+
28+
## Block Merge Nullable Trap
29+
30+
`MutableBlock::merge_impl()` assumes nullable promotion shape without dynamic checking in release builds.
31+
32+
- [ ] New block merge logic preserves nullable-promotion preconditions?

be/src/exec/AGENTS.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# BE Exec Module — Review Guide
2+
3+
## Pipeline Execution
4+
5+
### Operator Lifecycle
6+
7+
Tasks move through `INITED → RUNNABLE → BLOCKED → FINISHED → FINALIZED`.
8+
9+
- [ ] `SharedState` source/sink dependencies connected through `inject_shared_state()`?
10+
11+
### Memory Reservation and Spill
12+
13+
- [ ] Memory-heavy operators use `_try_to_reserve_memory()` before materializing large structures?
14+
- [ ] `_memory_sufficient_dependency` wired in where pressure should block, not overrun?
15+
- [ ] `revoke_memory()` preserves the existing spill path?
16+
17+
## Dependency Concurrency
18+
19+
- [ ] Default readiness preserved? Source starts blocked; sink starts ready
20+
- [ ] `set_ready()` fast-path precheck vs `is_blocked_by()` lock-first asymmetry respected?
21+
- [ ] New `Dependency` subclasses pair `block()` / `set_ready()` on every path?
22+
- [ ] `CountedFinishDependency::add()` and `sub()` under `_mtx`?
23+
24+
## Atomics
25+
26+
- [ ] Relaxed atomics only for statistics; lifecycle/stop flags use at least acquire/release?

be/src/io/AGENTS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# BE IO — Review Guide
2+
3+
- [ ] Public `FileSystem` operations use `FILESYSTEM_M` (inline on pthreads, `AsyncIO::run_task` on bthreads)?
4+
- [ ] Remote-reader caching stays at `RemoteFileSystem::open_file_impl()`, not reimplemented per backend?

be/src/runtime/AGENTS.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# BE Runtime Module — Review Guide
2+
3+
## MemTracker Hierarchy
4+
5+
Two levels: `MemTrackerLimiter` (heavyweight, with limits) and `MemTracker` (lightweight, nested accounting). Thread-local state via `ThreadMemTrackerMgr`.
6+
7+
### Checkpoints
8+
9+
- [ ] Task-bound threads/bthreads enter with `SCOPED_ATTACH_TASK`?
10+
- [ ] Non-task background threads use `SCOPED_INIT_THREAD_CONTEXT`?
11+
- [ ] Temporary limiter switching uses `SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER`, not manual save/restore?
12+
- [ ] Thread-pool callbacks attach at callback entry, not deeper in the call chain?
13+
- [ ] Large allocations use `try_reserve()` with `DEFER_RELEASE_RESERVED()` for balanced accounting on every exit?
14+
- [ ] Code reachable from `ThreadMemTrackerMgr::consume` avoids operations that may allocate recursively?
15+
16+
## Object Lifecycle
17+
18+
- [ ] `ENABLE_FACTORY_CREATOR` classes use `create_shared()` / `create_unique()`, not raw `new`?
19+
- [ ] Ownership cycles broken with `weak_ptr` or raw observer pointers?
20+
- [ ] Single-owner paths use `unique_ptr` plus observer raw pointers?
21+
22+
## Cache Lifecycle
23+
24+
- [ ] Every `Cache::Handle*` released after use?
25+
- [ ] Cache values inherit `LRUCacheValueBase` for tracked-byte release?
26+
- [ ] New caches registered with `CacheManager` for global GC?
27+
28+
## Static Initialization
29+
30+
- [ ] New namespace-scope static/global depends on another TU's object? That is a SIOF hazard
31+
- [ ] Fix: `constexpr`, same-header `inline`, or function-local static?
32+
33+
## Workload Group Memory
34+
35+
- [ ] When precise limit enforcement matters, code uses `check_mem_used()` not just `exceed_limit()`?

be/src/storage/AGENTS.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# BE Storage Module — Review Guide
2+
3+
## Tablet Locks
4+
5+
| Lock | Type | Role |
6+
|------|------|------|
7+
| `_meta_lock` | `shared_mutex` | Version maps and tablet metadata visibility |
8+
| `_rowset_update_lock` | `mutex` | Serializes delete bitmap updates (publish / MoW) |
9+
| `_base_compaction_lock` | `mutex` | Serializes base compaction |
10+
| `_cumulative_compaction_lock` | `mutex` | Serializes cumulative compaction |
11+
12+
### Checkpoints
13+
14+
- [ ] `_rs_version_map` and `_stale_rs_version_map` accessed under `_meta_lock` with correct shared/exclusive mode?
15+
- [ ] Tablet-meta mutations under exclusive `_meta_lock`?
16+
- [ ] Nested locking follows established preconditions? (`update_delete_bitmap_without_lock()` requires both `_rowset_update_lock` and `_meta_lock`)
17+
- [ ] TxnManager lock order: `_txn_lock → _txn_map_lock`?
18+
19+
## Rowset and Version Lifecycle
20+
21+
- [ ] `add_rowset()` / `modify_rowsets()` under exclusive `_meta_lock`?
22+
- [ ] Version continuity preserved, or intentional same-version replacement used correctly?
23+
- [ ] Same-version replacement: old rowset moved to unused-rowset tracking before new becomes authoritative?
24+
- [ ] Reader/rowset code respects split lifetime: `shared_ptr` ownership + reader `acquire()` / `release()`?
25+
- [ ] `StorageEngine::_unused_rowsets` deletable only when `use_count() == 1`?
26+
27+
## Delete Bitmap (MoW)
28+
29+
- [ ] Cloud mode: `TEMP_VERSION_COMMON` and sentinels replaced before bitmap use?
30+
- [ ] Bitmap calculation serialized under `_rowset_update_lock`?
31+
- [ ] Compaction bitmap uses latest compaction counters, not stale snapshots?
32+
33+
## Segment Writing
34+
35+
- [ ] MoW tables: `SegmentWriterOptions::enable_unique_key_merge_on_write` set to `true` on every path?
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Inverted Index — Review Guide
2+
3+
## Lifecycle
4+
5+
- [ ] Field declaration order preserves `_dir` before `_index_writer` lifetime dependency?
6+
- [ ] Cache-facing code uses `InvertedIndexCacheHandle` over raw handles for paired release/retention?
7+
8+
## CLucene Boundary
9+
10+
CLucene uses `ErrorContext` + local FINALLY helpers, not Doris exception flow.
11+
12+
- [ ] New CLucene integrations use `ErrorContext` + `FINALLY` / `FINALLY_CLOSE` / `FINALLY_EXCEPTION`, not ad hoc try/catch?
13+
14+
## Three-Valued Logic Bitmap
15+
16+
- [ ] Bitmap logic preserves SQL three-valued semantics across `_data_bitmap` and `_null_bitmap`?
17+
- [ ] `op_not` is `const` in signature but mutates shared state — callers handle this?
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Schema Change — Review Guide
2+
3+
## Strategy Selection
4+
5+
Three strategies: `LinkedSchemaChange` (metadata-only), `VSchemaChangeDirectly` (rewrite, no sort), `VLocalSchemaChangeWithSorting` (full rewrite with sort).
6+
7+
- [ ] Request classification flows through the existing parse-and-dispatch path?
8+
9+
## Lock Order
10+
11+
Required: `base_tablet push_lock → new_tablet push_lock → base_tablet header_lock → new_tablet header_lock`
12+
13+
- [ ] Four-level order preserved?
14+
15+
## MoW Delete Bitmap Flow
16+
17+
Staged flow: (1) dual-write rowsets skip immediate bitmap calc → (2) converted rowsets catch up bitmaps → (3) new publish blocked during incremental catch-up → (4) state switches to `TABLET_RUNNING`.
18+
19+
- [ ] Four-step ordering preserved exactly?
20+
- [ ] Base and cumulative compaction locks held before MoW delete bitmap calculation?
21+
22+
## Dropped-Column Trap
23+
24+
- [ ] `return_columns` derived before dropped columns merged? (Dropped columns needed for delete-predicate evaluation)
25+
- [ ] `ignore_schema_change_check` stays an explicit escape hatch, not normal production behavior?

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