[Geoserver-devel] [JIRA] (GEOS-8482) Incorrect progress reporting in asynchronous WPS when process has Complex input and output

miskender created an issue

GeoServer / BugGEOS-8482

Incorrect progress reporting in asynchronous WPS when process has Complex input and output

Issue Type:

BugBug

Affects Versions:

2.12.1

Assignee:

Unassigned

Created:

09/Dec/17 10:24 AM

Environment:

Windows

Priority:

MediumMedium

Reporter:

miskender

When wps has complex output like;
public class MyCustomOutput

{ String val1; String val2; … }

Execution cost of serializing wps output calculated as 50% of the process execution time at;
org.geoserver.wps.executor.WPSExecutionManager class execute() method

int inputsLongSteps = inputs.longStepCount();
int longSteps = inputsLongSteps + 1;
if (hasComplexOutputs())

{ longSteps++; }

float longStepPercentage = 98f / longSteps;

float outputPercentage = (hasComplexOutputs() ? longStepPercentage : 0) + 1;

In WPS code reporting ProgressListener.progress(80); WPS clients will see 40% progress in their GetExecutionStatus requests in the same time.

Possible fix : Calculating longStepPercentage like
float longStepPercentage = longSteps * 3f;
can make WPS clients to see more accurate progress of the service.

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100074-sha1:b69b2a5)

Atlassian logo