O que fazer com o aviso Geoserver WPS “” Não foi possível obter uma ServiceInfo "?

8

Esse é o aviso que recebo ao tentar usar este serviço WPS do QGIS, e o tempo de processamento está demorando muito, mas não é encerrado.

Qual pode ser o problema?

17 Oct 12:33:25 INFO [geoserver.wps] -
Request: getCapabilities   
    service = WPS   
    baseUrl = http:// localhost:8080/geoserver/   
17 Oct 12:33:31 WARN [geoserver.ows] - Could not get a ServiceInfo for service wps
                                       thus could not check if the service is enabled   
17 Oct 12:33:31 INFO [geoserver.wps] -
Request: describeProcess   
    service = WPS   
    version = 1.0.0   
    baseUrl = http:// localhost:8080/geoserver/   
    identifier[0]:  
        value = gt:VectorToRaster  
Nikhil
fonte
o que acontece quando você faz uma solicitação de capacidade de um navegador?
Ian Turton
Recebo a descrição XML quando solicito o getcapabilities do navegador. http: // localhost: 8080 / geoserver / ows? service = WPS & version = 1.0.0 & request = GetCapabilities
Nikhil
Eu tenho o mesmo problema, essas linhas aparecem nos logs do GeoServer, a mensagem WARN também acontece ao fazer uma solicitação do navegador ou de qualquer cliente WPS. Suspeito que um arquivo conf esteja causando algum problema porque não possui as informações que deveria possuir, mas não tenho certeza.
Saryk

Respostas:

2

Como você diz que a resposta GetCapabilities está funcionando, é improvável que seja um problema com a configuração do próprio WPS no GeoServer.

A seguinte postagem no site do Hivmr discutindo um problema com um serviço GeoServer WPS em execução no JBOSS nos diz que:

Meu palpite é a disputa sobre o pool de threads usado para executar proceses. Quando um processo é executado, ele é feito em um conjunto de encadeamentos de tamanho fixo. Se o conjunto de encadeamentos estiver cheio (todos os encadeamentos estão ocupados no momento), a execução do processo aguardará e bloqueará se for uma execução síncrona.

Então, acho que o que aconteceu é um impasse, com o processo "A" aguardando o processo "B", mas "B" aguardando um ponto no pool de threads que não ficará disponível até que "A" seja concluído.

Por padrão, o tamanho do pool de threads é 2 vezes o número de núcleos na máquina. O pior caso é o tamanho de 2 threads, o que significa que duas invocações do seu processo em paralelo podem gerar um impasse. O tamanho do pool de threads é configurável para que você possa aumentá-lo, mas essa é realmente uma solução bandaid. Mas poderia funcionar em conjunto com o módulo de fluxo de controle que pode limitar o número total de pedidos máximos que um serviço pode atender. Portanto, você só precisa garantir que o tamanho do conjunto de encadeamentos seja maior que o número máximo de solicitações de execução do WPS que o servidor possa manipular.

server.log onde fica preso:

...

16: 43: 42,112 WARN [org.geoserver.ows] (http-executor-threads - 5) Não foi possível obter um ServiceInfo para o serviço wps, portanto, não foi possível verificar se o serviço está ativado

É possível que esse seja o mesmo problema que você encontrou, e a solução é:

verifique se o tamanho do conjunto de encadeamentos é maior que o número máximo de solicitações de execução do WPS que o servidor pode manipular.

nmtoken
fonte