Skip to content

Commit 7827174

Browse files
anton-bobkovblinkov
andauthored
Added the Troubleshooting section (#10888)
Co-authored-by: Ivan Blinkov <ivan@ydb.tech>
1 parent 776b371 commit 7827174

File tree

69 files changed

+1049
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1049
-1
lines changed

ydb/docs/en/core/concepts/glossary.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,16 @@ Together, these mechanisms allow {{ ydb-short-name }} to provide [strict consist
101101

102102
The implementation of distributed transactions is covered in a separate article [{#T}](../contributor/datashard-distributed-txs.md), while below there's a list of several [related terms](#distributed-transaction-implementation).
103103

104+
### Interactive transactions {#interactive-transaction}
105+
106+
The term **interactive transactions** refers to transactions that are split into multiple queries and involve data processing by an application between these queries. For example:
107+
108+
1. Select some data.
109+
1. Process the selected data in the application.
110+
1. Update some data in the database.
111+
1. Commit the transaction in a separate query.
112+
113+
104114
### Multi-version concurrency control {#mvcc}
105115

106116
[**Multi-version concurrency control**](https://en.wikipedia.org/wiki/Multiversion_concurrency_control) or **MVCC** is a method {{ ydb-short-name }} used to allow multiple concurrent transactions to access the database simultaneously without interfering with each other. It is described in more detail in a separate article [{#T}](mvcc.md).
@@ -255,6 +265,20 @@ The **actor system interconnect** or **interconnect** is the [cluster's](#cluste
255265

256266
A **Local** is an [actor service](#actor-service) running on each [node](#node). It directly manages the [tablets](#tablet) on its node and interacts with [Hive](#hive). It registers with Hive and receives commands to launch tablets.
257267

268+
#### Actor system pool {#actor-system-pool}
269+
270+
The **actor system pool** is a [thread pool](https://en.wikipedia.org/wiki/Thread_pool) used to run [actors](#actor). Each [node](#node) operates multiple pools to coarsely separate resources between different types of activities. A typical set of pools includes:
271+
272+
- **System**: A pool that handles internal operations within {{ ydb-short-name }} node. It serves system [tablets](#tablet), [state storage](#state-storage), [distributed storage](#distributed-storage) I/O, and so on.
273+
274+
- **User**: A pool dedicated to user-generated load, such as running non-system tablets or queries executed by the [KQP](#kqp).
275+
276+
- **Batch**: A pool for tasks without strict execution deadlines, including heavy queries handled by the [KQP](#kqp) background operations like backups, data compaction, and garbage collection.
277+
278+
- **IO**: A pool for tasks involving blocking operations, such as authentication or writing logs to files.
279+
280+
- **IC**: A pool for [interconnect](#actor-system-interconnect), responsible for system calls related to data transfers across the network, data serialization, message splitting and merging.
281+
258282
### Tablet implementation {#tablet-implementation}
259283

260284
A [**tablet**](#tablet) is an [actor](#actor) with a persistent state. It includes a set of data for which this tablet is responsible and a finite state machine through which the tablet's data (or state) changes. The tablet is a fault-tolerant entity because tablet data is stored in a [Distributed storage](#distributed-storage) that survives disk and node failures. The tablet is automatically restarted on another [node](#node) if the previous one is down or overloaded. The data in the tablet changes in a consistent manner because the system infrastructure ensures that there is no more than one [tablet leader](#tablet-leader) through which changes to the tablet data are carried out.
@@ -558,7 +582,7 @@ MiniKQL is a low-level language. The system's end users only see queries in the
558582

559583
#### KQP {#kqp}
560584

561-
**KQP** is a {{ ydb-short-name }} component responsible for the orchestration of user query execution and generating the final response.
585+
**KQP** or **Query Processor** is a {{ ydb-short-name }} component responsible for the orchestration of user query execution and generating the final response.
562586

563587
### Global schema {#global-schema}
564588

ydb/docs/en/core/dev/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ Main resources:
2727
- [{#T}](../postgresql/intro.md)
2828
- [{#T}](../reference/kafka-api/index.md)
2929

30+
- [{#T}](troubleshooting/index.md)
31+
3032
If you're interested in developing {{ ydb-short-name }} core or satellite projects, refer to the [documentation for contributors](../contributor/index.md).

ydb/docs/en/core/dev/toc_p.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ items:
1818
path: primary-key/toc_p.yaml
1919
- name: Secondary indexes
2020
href: secondary-indexes.md
21+
- name: Troubleshooting
22+
href: troubleshooting/index.md
23+
include:
24+
mode: link
25+
path: troubleshooting/toc_p.yaml
2126
- name: Query plans optimization
2227
href: query-plans-optimization.md
2328
- name: Batch upload
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Troubleshooting
2+
3+
This section of the {{ ydb-short-name }} documentation provides guidance on troubleshooting issues related to {{ ydb-short-name }} databases and the applications that interact with them.
4+
5+
- [{#T}](performance/index.md)
80.8 KB
Loading
109 KB
Loading
76.9 KB
Loading
78.5 KB
Loading
49.2 KB
Loading
47.8 KB
Loading

0 commit comments

Comments
 (0)