Kbase 21009: WebWrite Errors occur with Progress
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  24/08/2009 |
|
Status: Verified
SYMPTOM(s):
Error 6404 and error 140 occur frequently in agent log file
WebWrite() failed during npp_send with error: -70 size: 8232 sentbytes0 retrycount 1. (6404)
** Pipe to subprocess has been broken. (140)
FACT(s) (Environment):
Progress 9.1B
Progress 9.1C
Progress 9.1D
Progress 9.1E
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
The error 6404 is raised in the Web browser after the user clicks on a link to run a program and then clicks either the stop button, the same link over and over again, or another link on the page while the original request is still trying to complete. The problem occurs in the WebSpeed agent while attempting to send data to the WebSpeed messenger. The messenger process is dying or there is a problem in the socket connection.
When the agent detects the write(), it tries 10 times by default to send the information, just to check if the problem was temporary. If the communication "wakes up" again, then the message is delivered. If not then you will see the messages about the retries 10 times in the webspeed agent's log file.
FIX:
As these errors are caused by user behavior, there is no way to correct it. However, there is a way to reduce the number of times the agent tries to communicate with the messenger.
The configurable option, AGENT_RETRY_VAL, has been implemented in the ubroker.properties. This option is intended to minimize the amount of retries of the WebWrite(). However, since this problem can be related to a network problem or users hitting links while the agent is busy, you may still find the error 6404 in the agents log file.
The AGENT_RETRY_VAL must be set in the environment section for each WebSpeed broker.
For example,
[Environment.wsbroker1]
AGENT_RETRY_VAL=0
You may also see the following:
TESTENV=MYENV
Its default value is set to 10 retries. If you want it to retry only once, then adjust the option as follows:
AGENT_RETRY_VAL=0
If after the retry, the message remains undelivered it will be discarded.
Also, make sure the following property is under the specific broker section:
environment=wsbroker1
If the broker is being created using Progress Explorer, the above environment variable is automatically is added. This may be missed if you manually added the broker by modifying the ubroker.properties file.
This behavior is implemented in a patch for 9.1B and in Version 9.1C and above.