Apa yang harus dilakukan tentang peringatan WPS Geoserver "" Tidak bisa mendapatkan ServiceInfo "?

8

Ini adalah peringatan yang saya dapatkan ketika saya mencoba menggunakan layanan WPS ini dari QGIS, dan waktu pemrosesan terlalu lama, tetapi tidak berakhir.

Apa yang mungkin menjadi masalah?

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
sumber
apa yang terjadi ketika Anda membuat permintaan getcapabilities dari browser?
Ian Turton
Saya mendapatkan deskripsi XML ketika saya meminta kemampuan dari browser. http: // localhost: 8080 / geoserver / ows? service = WPS & versi = 1.0.0 & request = GetCapabilities
Nikhil
Saya memiliki masalah yang sama, garis-garis ini muncul di log GeoServer, pesan PERINGATAN juga terjadi ketika membuat permintaan dari browser, atau klien WPS. Saya menduga file conf di suatu tempat menyebabkan beberapa masalah karena tidak memiliki info yang seharusnya dimiliki, tetapi saya tidak yakin sama sekali.
Saryk

Jawaban:

2

Seperti yang Anda katakan bahwa respons GetCapabilities berfungsi, itu tidak akan menjadi masalah dengan konfigurasi WPS itu sendiri di GeoServer.

Posting berikut di situs Hivmr yang membahas masalah dengan layanan GeoServer WPS yang berjalan di JBOSS memberi tahu kita bahwa:

Dugaan saya adalah pertengkaran atas kumpulan utas yang digunakan untuk menjalankan proses. Ketika suatu proses dijalankan, ia melakukannya dalam kumpulan thread dengan ukuran tetap. Jika kumpulan utas penuh (semua utas sedang sibuk menjalankan) proses eksekusi akan menunggu, dan memblokir jika itu adalah eksekusi sinkron.

Jadi saya pikir apa yang terjadi adalah jalan buntu, dengan proses "A" menunggu proses "B", tetapi "B" menunggu tempat di kumpulan utas yang tidak akan tersedia sampai "A" selesai.

Secara default ukuran kumpulan thread adalah 2 kali jumlah core di mesin. Jadi kasus terburuk adalah 2 thread dalam ukuran yang berarti dua doa proses Anda secara paralel dapat menghasilkan jalan buntu. Ukuran pool thread dapat dikonfigurasi sehingga Anda bisa meningkatkannya, tapi itu benar-benar solusi bandaid. Tapi itu bisa bekerja bersama dengan modul aliran kontrol yang dapat membatasi jumlah keseluruhan permintaan maksimum yang dapat ditangani oleh suatu layanan. Jadi, Anda hanya perlu memastikan bahwa ukuran thread pool lebih besar dari jumlah maksimum WPS yang mengeksekusi permintaan yang dapat ditangani oleh server.

server.log di mana macet:

...

16: 43: 42.112 PERINGATAN [org.geoserver.ows] (http-executor-threads - 5) Tidak bisa mendapatkan ServiceInfo untuk layanan wps sehingga tidak bisa memeriksa apakah layanan diaktifkan

Ada kemungkinan bahwa ini adalah masalah yang sama seperti yang Anda temui, dan solusinya adalah:

pastikan bahwa ukuran kumpulan utas lebih besar dari jumlah maksimal WPS mengeksekusi permintaan yang dapat ditangani server.

ntoken
sumber