c55d3080cf
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled
Documentation updates: - Fix v0.1.0 → v1.1.0 version numbers in en, ru, fa, zh docs - Add missing Window Functions, Multi-Tenant ERP, Supported Keywords sections to ru, fa, zh baraql.md (~105 lines each) - Expand Turkish and Arabic baraql.md (110 → 268 lines) - Expand Turkish and Arabic installation.md (62 → 307 lines) - Add new Bulgarian documentation files (18 new files) Client updates: - Python: Full async/await rewrite with asyncio, request queueing - Rust: Full async/await rewrite with tokio, async examples - Nim: Update README to v1.1.0 - All clients now support async patterns consistently
165 lines
3.7 KiB
Markdown
165 lines
3.7 KiB
Markdown
# Ръководство за Отстраняване на Проблеми
|
||
|
||
## Проблеми с Инсталацията
|
||
|
||
### Nim не е намерен
|
||
|
||
```
|
||
nim: command not found
|
||
```
|
||
|
||
**Решение:**
|
||
|
||
```bash
|
||
# Linux/macOS
|
||
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
|
||
|
||
# Добавяне към PATH
|
||
echo 'export PATH=$HOME/.nimble/bin:$PATH' >> ~/.bashrc
|
||
source ~/.bashrc
|
||
```
|
||
|
||
### SSL Грешка при Компилация
|
||
|
||
```
|
||
Error: BaraDB requires SSL support. Compile with -d:ssl
|
||
```
|
||
|
||
**Решение:** Винаги компилирайте с `-d:ssl`:
|
||
|
||
```bash
|
||
nim c -d:ssl -d:release -o:build/baradadb src/baradadb.nim
|
||
```
|
||
|
||
### Липсващи Зависимости
|
||
|
||
```
|
||
Error: cannot open file: hunos
|
||
```
|
||
|
||
**Решение:**
|
||
|
||
```bash
|
||
nimble install -d -y
|
||
```
|
||
|
||
## Проблеми по Време на Изпълнение
|
||
|
||
### Портът е Зает
|
||
|
||
```
|
||
Error: unhandled exception: Address already in use [OSError]
|
||
```
|
||
|
||
**Решение 1:** Сменете порта:
|
||
|
||
```bash
|
||
BARADB_PORT=5433 ./build/baradadb
|
||
```
|
||
|
||
**Решение 2:** Убийте съществуващия процес:
|
||
|
||
```bash
|
||
lsof -ti:9472 | xargs kill -9
|
||
```
|
||
|
||
### Permission Denied на Директория с Данни
|
||
|
||
```
|
||
Error: Permission denied: ./data
|
||
```
|
||
|
||
**Решение:**
|
||
|
||
```bash
|
||
mkdir -p ./data
|
||
chmod 755 ./data
|
||
# или използвайте друга директория
|
||
BARADB_DATA_DIR=/tmp/baradb ./build/baradadb
|
||
```
|
||
|
||
## Storage Проблеми
|
||
|
||
### Бавни Заявки
|
||
|
||
1. Проверете cache hit rate:
|
||
```bash
|
||
curl http://localhost:9470/metrics | grep cache_hit_rate
|
||
```
|
||
|
||
2. Пуснете ръчен compaction:
|
||
```bash
|
||
curl -X POST http://localhost:9470/admin/compact
|
||
```
|
||
|
||
3. Проверете броя на SSTables:
|
||
```bash
|
||
curl http://localhost:9470/metrics | grep sstables
|
||
```
|
||
|
||
### Растящо Дисково Пространство
|
||
|
||
```bash
|
||
# Проверете размера на директорията с данни
|
||
du -sh ./data
|
||
|
||
# Проверете WAL размера
|
||
du -sh ./data/server/wal
|
||
|
||
# Пуснете ръчен compaction за освобождаване на място
|
||
curl -X POST http://localhost:9470/admin/compact
|
||
```
|
||
|
||
## Проблеми с Автентикация
|
||
|
||
### Грешка при Верификация на JWT
|
||
|
||
```json
|
||
{"error": {"code": "AUTH_REQUIRED", "message": "Authentication required"}}
|
||
```
|
||
|
||
**Решение:** Уверете се, че изпращате правилния токен:
|
||
|
||
```bash
|
||
curl -H "Authorization: Bearer $TOKEN" \
|
||
http://localhost:9470/api/query \
|
||
-d '{"query": "SELECT 1"}'
|
||
```
|
||
|
||
## Разпределени Проблеми
|
||
|
||
### Възел не се Присъединява към Клъстер
|
||
|
||
1. Проверете мрежовата свързаност между възлите
|
||
2. Проверете gossip порта (raft порт + 100)
|
||
3. Проверете логовете за грешки при gossip
|
||
|
||
### Репликационно Закъснение
|
||
|
||
```bash
|
||
# Проверете replication lag
|
||
curl http://localhost:9470/metrics/cluster | jq .replication_lag_ms
|
||
```
|
||
|
||
## Често Задавани Въпроси
|
||
|
||
### Как да нулирам напълно базата данни?
|
||
|
||
```bash
|
||
# Спрете сървъра
|
||
# Изтрийте директорията с данни
|
||
rm -rf ./data
|
||
# Стартирайте отново — нова празна база ще бъде създадена
|
||
./build/baradadb
|
||
```
|
||
|
||
### Как да мигрирам от друга база данни?
|
||
|
||
BaraDB поддържа импорт чрез JSON и CSV:
|
||
|
||
```bash
|
||
curl -X POST http://localhost:9470/api/import \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"table": "users", "format": "json", "data": [...]}'
|
||
```
|