Files
Baradb/docs/de/troubleshooting.md
T
dimgigov c95bc4cd44
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
docs: synchronize documentation across all languages
- Add mcp.md to: bg, fa, ru, tr, zh, ar
- Add index.md to Bulgarian (bg)
- Add 24 missing German (de) documentation files

Translations for all supported languages now complete.
2026-05-17 16:29:28 +03:00

336 lines
5.0 KiB
Markdown

# Fehlerbehebungsleitfaden
## Installationsprobleme
### Nim nicht gefunden
```
im: command not found
```
**Lösung:**
```bash
# Linux/macOS
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
# Zu PATH hinzufügen
echo 'export PATH=$HOME/.nimble/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```
### SSL-Kompilierungsfehler
```
Error: BaraDB requires SSL support. Compile with -d:ssl
```
**Lösung:** Immer mit `-d:ssl` kompilieren:
```bash
nim c -d:ssl -d:release -o:build/baradadb src/baradadb.nim
```
### Fehlende Abhängigkeiten
```
Error: cannot open file: hunos
```
**Lösung:**
```bash
nimble install -d -y
```
## Laufzeitprobleme
### Port bereits in Verwendung
```
Error: unhandled exception: Address already in use [OSError]
```
**Lösung 1:** Port ändern:
```bash
BARADB_PORT=5433 ./build/baradadb
```
**Lösung 2:** Bestehenden Prozess beenden:
```bash
lsof -ti:9472 | xargs kill -9
# oder
fuser -k 9472/tcp
```
### Permission Denied auf Datenverzeichnis
```
Error: cannot create directory: Permission denied
```
**Lösung:**
```bash
mkdir -p ./data
chmod 755 ./data
# Oder anderes Verzeichnis verwenden
BARADB_DATA_DIR=/tmp/baradb_data ./build/baradadb
```
### Out of Memory
```
Error: out of memory
```
**Lösung:** Speicherverbrauch reduzieren:
```bash
BARADB_MEMTABLE_SIZE_MB=32 \
BARADB_CACHE_SIZE_MB=128 \
BARADB_VECTOR_EF_CONSTRUCTION=100 \
./build/baradadb
```
### Disk Full
```
Error: No space left on device
```
**Lösung:**
```bash
# Disk-Nutzung prüfen
df -h
# Compaction auslösen um Platz freizugeben
curl -X POST http://localhost:9470/api/admin/compact
# Oder manuell
./build/baradadb --compact
```
## Abfrageprobleme
### Syntaxfehler
```
Error: Syntax error at position 15: unexpected token
```
**Lösung:** Abfragesyntax prüfen:
```sql
-- Korrekt
SELECT name, age FROM users WHERE age > 18;
-- Inkorrekt (fehlendes Komma)
SELECT name age FROM users WHERE age > 18;
```
### Tabelle nicht gefunden
```
Error: Table 'users' does not exist
```
**Lösung:** Zuerst Schema erstellen:
```sql
CREATE TYPE User {
name: str,
age: int32
};
```
### Typ-Mismatch
```
Error: Cannot compare int32 with str
```
**Lösung:** Korrekte Typen verwenden:
```sql
-- Korrekt
SELECT * FROM users WHERE age > 18;
-- Inkorrekt
SELECT * FROM users WHERE age > '18';
```
### Timeout
```
Error: Query execution timeout
```
**Lösung:** LIMIT hinzufügen oder optimieren:
```sql
-- Limit hinzufügen
SELECT * FROM large_table LIMIT 1000;
-- Index verwenden
SELECT * FROM users WHERE id = 123;
```
## Verbindungsprobleme
### Connection Refused
```
Connection refused: localhost:9472
```
**Lösung:**
```bash
# Prüfen ob Server läuft
ps aux | grep baradadb
# Server starten
./build/baradadb
# Firewall prüfen
sudo ufw status
sudo ufw allow 9472
```
### Authentifizierung fehlgeschlagen
```
Error: Authentication failed
```
**Lösung:**
```bash
# Prüfen ob JWT-Geheimnis übereinstimmt
BARADB_AUTH_ENABLED=true \
BARADB_JWT_SECRET="correct-secret" \
./build/baradadb
```
## Performance-Probleme
### Langsame Abfragen
**Diagnose:**
```bash
# Abfrageplan prüfen
curl -X POST http://localhost:9470/api/explain \
-d '{"query": "SELECT * FROM large_table"}'
```
**Lösungen:**
1. Indizes hinzufügen:
```sql
CREATE INDEX idx_users_name ON users(name);
```
2. LIMIT verwenden:
```sql
SELECT * FROM users LIMIT 100;
```
3. Cache erhöhen:
```bash
BARADB_CACHE_SIZE_MB=1024 ./build/baradadb
```
### Hohe CPU-Nutzung
**Ursachen:**
- Compaction läuft
- Große Vektor-Suche ohne HNSW
- Komplexe Graph-Traversierung
**Lösungen:**
```bash
# Compaction-Intervall anpassen
BARADB_COMPACTION_INTERVAL_MS=300000 ./build/baradadb
# Approximative Vektor-Suche verwenden
SELECT /*+ APPROXIMATE */ * FROM vectors
ORDER BY cosine_distance(embedding, [...])
LIMIT 10;
```
## Cluster-Probleme
### Raft Split-Brain
```
Warning: Multiple leaders detected
```
**Lösung:** Ungerade Anzahl von Knoten sicherstellen (3, 5, 7). Minority-Partition neu starten.
### Replikations-Lag
```
Warning: Replication lag > 10s
```
**Lösung:**
```bash
# Netzwerk-Latenz prüfen
ping replica-node
# Replikations-Threads erhöhen
BARADB_REPLICATION_THREADS=4 ./build/baradadb
# Auf Async-Replikation umschalten
BARADB_REPLICATION_MODE=async
```
## Datenkorruption
### Prüfsummen-Mismatch
```
Error: SSTable checksum mismatch
```
**Lösung:**
```bash
# Korrupte SSTable entfernen (Daten werden aus WAL wiederhergestellt)
rm ./data/sstables/corrupted.sst
# Neustarten und wiederherstellen
./build/baradadb --recover
```
## Debug-Modus
Debug-Logging für detaillierte Diagnostik aktivieren:
```bash
BARADB_LOG_LEVEL=debug \
BARADB_LOG_FILE=/tmp/baradb_debug.log \
./build/baradadb
```
## Hilfe erhalten
Wenn das Problem weiterhin besteht:
1. Logs prüfen: `tail -f /var/log/baradb/baradb.log`
2. Metrics prüfen: `curl http://localhost:9470/metrics`
3. Diagnostik ausführen: `./build/baradadb --diagnose`
4. Issue öffnen mit:
- BaraDB Version (`./build/baradadb --version`)
- OS und Architektur
- Relevante Log-Auszüge
- Schritte zur Reproduktion