Search the FirstSpirit Knowledge Base
Hallo,
ich habe seit neuestem ein Problem bei meinem CaaS-Voll-Deployment (das vorher funktioniert hat).
Im "Finalize CaaS Generation" task kommen viele Warnings vom Typ "Deployment for target expired".
Hier das voll Log:
INFO 18.10.2017 13:48:06.304 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): starting task 'Finalize CaaS Generation' - schedule entry 'CaaS Full' (id=18910)
INFO 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): generated messages: 25
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_2560x854_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_960x320_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_0x0_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_700x400_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_3840x1280_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_1560x892_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_3840x1280_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.306 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_1280x427_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=null, uidType=null, language=null, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=news_1410_de, uidType=entity, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_1920x640_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_350x200_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_960x320_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_2560x854_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_700x400_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=news_1409_de, uidType=entity, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_1560x892_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_1280x427_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_780x446_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=contact_1088_de, uidType=entity, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_1920x640_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_0x0_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=news_1408_de, uidType=entity, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=shutterstock_198169034_cmyk_350x200_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
WARN 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): Deployment for target expired: GenerationResult{uid=eichhoernchen_780x446_de, uidType=MEDIASTORE_LEAF, language=DE, startTime=1508334478893}
INFO 18.10.2017 13:49:56.307 (com.espirit.caas.generation.listener.ReportGenerationResultListener): 0/25 deployed successfully.
INFO 18.10.2017 13:49:56.308 (com.espirit.caas.service.util.CaaSConnectionImpl): Send CaaS entity...
INFO 18.10.2017 13:49:56.312 (com.espirit.caas.service.util.CaaSConnectionImpl): Close CaaS connection...
INFO 18.10.2017 13:49:56.318 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): finished task 'Finalize CaaS Generation' - schedule entry 'CaaS Full' (id=18910)
Mit was könnte der Fehler zutun haben?
Im CaaS Admin Interface sehe ich mein Projekt. Ich habe jetzt mal eine der beiden Collections gelöscht - aber sie wird nicht wieder angelegt.
Im Log des caas-bus Pod finde ich dieses:
WARN | Transport Connection to: tcp://10.42.0.4:40666 failed: java.io.IOException: Unexpected error occurred: java.lang.OutOfMemoryError: Java heap space
WARN | Transport Connection to: tcp://10.42.0.4:40672 failed: java.io.IOException: Unexpected error occurred: java.lang.OutOfMemoryError: Java heap space
WARN | Transport Connection to: tcp://10.42.0.4:40678 failed: java.io.IOException: Unexpected error occurred: java.lang.OutOfMemoryError: Java heap space
CaaS-Version: 1.3.11
Danke für einen Tipp!
Gruß,
Benny Kannengießer
Hallo Benny,
Du kannst hier zwei Umgebungsvariablen dem caas-bus mitgeben ( CAAS_BUS_MIN_MEMORY und CAAS_BUS_MAX_MEMORY 😞
Auszug caas-bus.yml
- name: CAAS_BUS_MIN_MEMORY
value: "2000m"
- name: CAAS_BUS_MAX_MEMORY
value: "2000m"
resources:
limits:
cpu: 4000m
memory: 4000Mi
Mindestens 1GB benötigt der caas-bus. Danach den POD neustarten und es sollte wieder gehen.
Um weitere Java-Heapspace-Probleme zu umgehen (auch bei den anderen PODS), setze mal in den ymls (das geht auch beim caas-bus) für ...
- caas-rest-api
- caas-adapter
... die Umgebungsvariable "_JAVA_OPTIONS" - Details dazu findest du hier: java - Difference between _JAVA_OPTIONS JAVA_TOOL_OPTIONS and JAVA_OPTS - Stack Overflow
- caas-adapter.yml (Auszug):
- name: _JAVA_OPTIONS
value: "-Xms256m -Xmx512m"
resources:
limits:
cpu: 1000m
memory: 1000Mi
requests:
cpu: 250m
memory: 250Mi
- caas-rest-api.yml (Auszug):
- name: _JAVA_OPTIONS
value: "-Xms512m -Xmx1024m"
resources:
limits:
cpu: 1000m
memory: 2000Mi
requests:
cpu: 250m
memory: 500Mi
Da die Mongo-DB kein Java-Process ist, funktioniert das oben beschriebene nicht für diesen POD/Container.
Deshalb hier ein Auszug wie man diese Limitierung aktivieren kann, die zu übernehmende Zeile ist Nr 5. Hier kannst du als Dezimalzahl (z.b. 1.5) den Heapspace in GB angeben. Wichtig ist, dass hierzu noch ca. 500 MB RAM für andere Teilprozesse benötigt werden:
containers:
- image: localhost:5000/e-spirit/caas-mongo:3.4.2
imagePullPolicy: Always
name: caas-mongo
args: ["mongod", "--auth", "--wiredTigerCacheSizeGB=1"]
Für die Zukunft relevant ist, dass man hier den entrypoint, welcher im default von e-Spirit mitkommt überschreibt. D.h. zuvor nachsehen, ob e-Spirit in einer neueren Version als 1.3.11 etwas geändert hat und dann hier die Argumente mit übernehmen.
Andernfalls nimmt sich die mongo-db ganz schön viel, nämlich Prozentual zu dem Node-RAM. Der eine Kubernetes Node hat bei mir 128GB RAM, demnach schaut es ohne obige Limitierung so aus, dass hier 48GB vom caas-mongo container "in Beschlag" genommen sind:
Zu diesem Thema mache ich bei Gelegenheit noch einen Community-Eintrag. Alle Java-PODs über den gleichen Weg zu konfigurieren, erscheint mir schon sehr sinnvoll (_JAVA_OPTIONS), da man hierüber dann sehr flexibel ist (remote-debugging, tracing, garbace collection settings, ..).
Viele Grüße
Markus
Hallo Benny,
Du kannst hier zwei Umgebungsvariablen dem caas-bus mitgeben ( CAAS_BUS_MIN_MEMORY und CAAS_BUS_MAX_MEMORY 😞
Auszug caas-bus.yml
- name: CAAS_BUS_MIN_MEMORY
value: "2000m"
- name: CAAS_BUS_MAX_MEMORY
value: "2000m"
resources:
limits:
cpu: 4000m
memory: 4000Mi
Mindestens 1GB benötigt der caas-bus. Danach den POD neustarten und es sollte wieder gehen.
Um weitere Java-Heapspace-Probleme zu umgehen (auch bei den anderen PODS), setze mal in den ymls (das geht auch beim caas-bus) für ...
- caas-rest-api
- caas-adapter
... die Umgebungsvariable "_JAVA_OPTIONS" - Details dazu findest du hier: java - Difference between _JAVA_OPTIONS JAVA_TOOL_OPTIONS and JAVA_OPTS - Stack Overflow
- caas-adapter.yml (Auszug):
- name: _JAVA_OPTIONS
value: "-Xms256m -Xmx512m"
resources:
limits:
cpu: 1000m
memory: 1000Mi
requests:
cpu: 250m
memory: 250Mi
- caas-rest-api.yml (Auszug):
- name: _JAVA_OPTIONS
value: "-Xms512m -Xmx1024m"
resources:
limits:
cpu: 1000m
memory: 2000Mi
requests:
cpu: 250m
memory: 500Mi
Da die Mongo-DB kein Java-Process ist, funktioniert das oben beschriebene nicht für diesen POD/Container.
Deshalb hier ein Auszug wie man diese Limitierung aktivieren kann, die zu übernehmende Zeile ist Nr 5. Hier kannst du als Dezimalzahl (z.b. 1.5) den Heapspace in GB angeben. Wichtig ist, dass hierzu noch ca. 500 MB RAM für andere Teilprozesse benötigt werden:
containers:
- image: localhost:5000/e-spirit/caas-mongo:3.4.2
imagePullPolicy: Always
name: caas-mongo
args: ["mongod", "--auth", "--wiredTigerCacheSizeGB=1"]
Für die Zukunft relevant ist, dass man hier den entrypoint, welcher im default von e-Spirit mitkommt überschreibt. D.h. zuvor nachsehen, ob e-Spirit in einer neueren Version als 1.3.11 etwas geändert hat und dann hier die Argumente mit übernehmen.
Andernfalls nimmt sich die mongo-db ganz schön viel, nämlich Prozentual zu dem Node-RAM. Der eine Kubernetes Node hat bei mir 128GB RAM, demnach schaut es ohne obige Limitierung so aus, dass hier 48GB vom caas-mongo container "in Beschlag" genommen sind:
Zu diesem Thema mache ich bei Gelegenheit noch einen Community-Eintrag. Alle Java-PODs über den gleichen Weg zu konfigurieren, erscheint mir schon sehr sinnvoll (_JAVA_OPTIONS), da man hierüber dann sehr flexibel ist (remote-debugging, tracing, garbace collection settings, ..).
Viele Grüße
Markus
Hallo Markus,
danke für die kompetente Antwort!
Funktioniert wieder alles 🙂
Viele Grüße,
Benny