Environment values containing '=' are truncated in --extra-docker-config
Évaluation
- Difficulté
- 1/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 1/100
Piste de recherche
Start in lean/components/docker/lean_runner.py at LeanRunner.parse_extra_docker_config around line 972, then inspect its callers to understand how environment entries are passed through. Reproduce the truncation with the Python snippet in the issue; done means values containing = reach the container unchanged across the listed commands, with a regression test covering the examples. A linked open pull request (#680) is already addressing this issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Expected Behavior
environment entries passed as KEY=VALUE strings in --extra-docker-config are split on the first = only, like Docker does, so values that contain = reach the container unchanged:
lean backtest MyProject --extra-docker-config '{"environment": ["JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8", "TOKEN=abc=="]}'
# container env: JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8, TOKEN=abc==
Actual Behavior
LeanRunner.parse_extra_docker_config splits on every = and keeps only the first two parts, so everything after the second = is silently dropped:
{"JAVA_TOOL_OPTIONS": "-Dfile.encoding", "TOKEN": "abc"}
This breaks JVM -D options, base64 tokens and connection strings passed this way. It affects backtest, live, research, optimize and private-cloud start.
Potential Solution
Use item.split("=", 1) in lean/components/docker/lean_runner.py (line 972). I can open a PR with the fix and a test.
Reproducing the Problem
from lean.components.docker.lean_runner import LeanRunner
run_options = {}
LeanRunner.parse_extra_docker_config(run_options, {"environment": ["JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8", "TOKEN=abc=="]})
print(run_options["environment"])
System Information
lean-cli master at b4d724c, Python 3.12, Linux.
Checklist
- I have completely filled out this template
- I have confirmed that this issue exists on the current
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- Langage dominant
- Python
- Étoiles
- 329
- Forks
- 170
- Merge moyen
- 8 j 14 h
- PR mergées (30 j)
- 7
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QuantConnect/lean-cli
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
QuantConnect/lean-cli#681 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QuantConnect/lean-cli#661 · 1 commentaire ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
QuantConnect/lean-cli#619 ·
-
Implements AutocompletePeut-être à nouveau libre @shreejaykurhade l’a pris il y a 209 jours, et aucune pull request n’est ouverte. Ouvertefeature
QuantConnect/lean-cli#602 · 6 commentaires · 3 réactions · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
QuantConnect/lean-cli#579 ·
Toutes les issues de QuantConnect/lean-cli
Issues similaires
-
Validate non-divisible effective batch sizes in the Unsloth LoRA backendPeut-être pris @debesh-biswas l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
`rx.Model` event arguments emit `PydanticDeprecatedSince20` once per payload keyPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
reflex-dev/reflex#7634 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
documentation
Difficulté 1/5 1-3 heures Accessibilité débutants 82/100
topoteretes/cognee#6239 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
ranaroussi/yfinance#3009 ·
Les mainteneurs répondent en général sous 1 jour
-
Test discovery aborts on GPU builds without cuStateVec: check_cuStateVec expects a failed result but set_config() now raises RuntimeErrorPeut-être pris @dmeliksetian l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Qiskit/qiskit-aer#2495 ·
Les mainteneurs répondent en général sous 1 jour