8

Sto lavorando su Sonarqube 5.1. Funzionava bene prima, più tardi non ho più spazio sull'errore del dispositivo. Ho cancellato alcuni file indesiderati e riavviato il servizio. Ora posso vedere che lo stato del servizio è in esecuzione, ma non posso accedere alla pagina web (dal momento che il webservice sonar non è avviato) Ho controllato i log e trovo l'errore di seguito.Impossibile avviare Sonar Webservice

2015.08.03 10:58:56 INFO es[o.elasticsearch.node] [sonar-1438592314778] started 
2015.08.03 10:59:03 INFO es[o.e.gateway] [sonar-1438592314778] recovered [6] indices into cluster_state 
2015.08.03 11:00:44 WARN es[o.e.indices.cluster] [sonar-1438592314778] [sourcelines][0] failed to start shard 
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [sourcelines][0] failed to recover shard 
at  org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:287) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132) ~[elasticsearch-1.4.4.jar:na] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:114 2) [na:1.8.0_40] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40] 
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40] 
Caused by: org.elasticsearch.index.translog.TranslogCorruptedException: translog corruption while reading from stream 
at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:70) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:257) ~[elasticsearch-1.4.4.jar:na] 
... 4 common frames omitted 
Caused by: org.elasticsearch.ElasticsearchException: failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796] 
at org.elasticsearch.index.translog.Translog$Index.readFrom(Translog.java:520) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:68) ~[elasticsearch-1.4.4.jar:na] 
... 5 common frames omitted 
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: No version type match [105] 
at org.elasticsearch.index.VersionType.fromValue(VersionType.java:307) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.translog.Translog$Index.readFrom(Translog.java:517) ~[elasticsearch-1.4.4.jar:na] 
... 6 common frames omitted 
2015.08.03 11:00:44 WARN es[o.e.c.action.shard] [sonar-1438592314778] [sourcelines][0] sending failed shard for [sourcelines][0], node[5eRgYcVUTNCNLjhhzdiHGA], [P], s[INITIALIZING], indexUUID [JaH5lnRnRVOFD95Nw28W5Q], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[sourcelines][0] failed to recover shard]; nested: TranslogCorruptedException[translog corruption while reading from stream]; nested: ElasticsearchException[failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796]]; nested: ElasticsearchIllegalArgumentException[No version type match [105]]; ]] 
2015.08.03 11:00:44 WARN es[o.e.c.action.shard] [sonar-1438592314778] [sourcelines][0] received shard failed for [sourcelines][0], node[5eRgYcVUTNCNLjhhzdiHGA], [P], s[INITIALIZING], indexUUID [JaH5lnRnRVOFD95Nw28W5Q], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[sourcelines][0] failed to recover shard]; nested: TranslogCorruptedException[translog corruption while reading from stream]; nested: ElasticsearchException[failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796]]; nested: ElasticsearchIllegalArgumentException[No version type match [105]]; ]] 

devo eliminare i frammenti? se sì come farlo? come recuperare il frammento? sta indicizzando male? dove trovo [sourcelines] sulla mia macchina? aiutami con questo.

Grazie in anticipo.

risposta

15

L'indice ES sembra essere corrotto.

Tutte le informazioni di base sono memorizzate nel DB. Non cancellarlo o aggiornarlo manualmente.

Al contrario, se si eliminano gli indici ES, verranno semplicemente ricostruiti all'avvio successivo (che potrebbe richiedere del tempo a seconda della quantità di dati che si dispone).

Per ottenere ciò, eliminare la directory es nella directory data dell'istanza SQ.

+0

Nota: da SonarQube 6.6 e successivi, la directory è denominata 'es5' e non 'es' più –

1

Se si utilizza il database per archiviare i risultati dell'analisi del sonar, cancellare il database una volta e quindi riavviare il sonar perché a volte non funziona con i vecchi e nuovi risultati archiviati nel database. Non sta eseguendo l'indicizzazione dei file .

3

Abbiamo affrontato questo problema molte volte. Cancelliamo la directory es in $ SONAR_HOME/data directory dell'istanza SQ e riavvia l'istanza SQ. Avvia nuovamente l'indicizzazione Nota: l'unico problema che dovrai affrontare durante l'indicizzazione è che il tuo server Web SQ non sarà accessibile. Non puoi sfogliare il tuo host locale: 9000 (continuerà a caricarsi a meno che l'indicizzazione non finisca). Poiché il nostro progetto è grande, ci vogliono un paio d'ore per completare l'indicizzazione. Una volta completata l'indicizzazione, puoi sfogliare il tuo server web SQ.

1

Eliminare .recovery di file all'interno della cartella translog

Esempio: /es/elasticsearch-1.7.1/data/ [elasticsearch_clustername]/nodi/0/indici/[indexname]/2/translog/

Problemi correlati