SonarQube Out Of Memory Kabusu

Fatih KÜÇÜK
KoçSistem
Published in
2 min readFeb 23, 2022

Monolith yapıda bir projede mi çalışıyorsunuz?

Projenizdeki kod satır sayınız çok mu yüksek?

Organizasyonunuz, projenizi kod kalitesi konusunda de facto olmuş SonarQube analizine mi tabi tutmanızı istiyor?

Doğru yerdesiniz.

First round

Pipeline dizayn ettikten sonra sonuçlarını meraklı bir şekilde beklerken aşağıdaki gibi “java.lang.OutOfMemoryError” hatasını aldık.

İlk aldığımız aksiyon SonarScanner’ ın çalıştığı sunucunun ram’i yükseltmek oldu.

Second round

Artık kuvvetli bir sanal makinemiz var. Hiç bir şey önümüze engel olamaz diye düşünürken tekrar aynı hatayı aldık.

Bu sefer SonarScanner için ayrılan memory’nin yükseltilmesi için aksiyon aldık. Azure pipelines içerisinde variables sekmesinde kolayca yönetebiliyorsunuz.

Third round

Analiz tamamlandıktan sonra heyecanlı bir şekilde sonuçları yayınlamasını bekliyordum fakat bu sefer de publish adımında hata aldık.

Artık SonarQube sunucusuna geçme zamanı geldi. Bu zamana kadar hep SonarScanner’ın çalıştığı sunucuda güncelleme yapmıştık. SonarQube Web, Compute Engine ve Search Engine olmak üzere üç süreçten oluşmaktadır.

sonar.properties dosyası içerisinde bu süreçler için ayrılan memory’leri yükselttik ve sistemi yeniden başlattık.

  • sonar.web.javaOpts
  • sonar.ce.javaOpts
  • sonar.search.javaOpts

Fourth round

Günün sonunda 2.3 milyon kod satırı olan projemizi başarılı bir şekilde SonarQube analizinden geçirmeyi başardık.

Knockout

Sevgiler…

--

--

KoçSistem
KoçSistem

Published in KoçSistem

KoçSistem’s software and technology stories

Fatih KÜÇÜK
Fatih KÜÇÜK

Written by Fatih KÜÇÜK

Fatih is a technology lover with interest in DevOps, Agile, Container and Container Orchestration.