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.
This commit is contained in:
@@ -0,0 +1,335 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user