Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm looking at a server running IIS 7.5 that is throwing generic HTTP 500s for some requests, with no further error reporting or substatus code evident anywhere. So I enabled Failed Request Tracing and the trace report for the failing requests shows a TRIGGER_STATUS of 500 and a FINAL_STATUS of 200. Can anyone explain what the difference between TRIGGER_STATUS and FINAL_STATUS is and why they would not be identical?

share|improve this question

1 Answer 1

The trigger status is the status the FREB rule triggered on and the final status is the HTTP status the client got and also what you will see in your access log.

I ran into this combination of status codes in FREB when tracing requests with a quite big request payload. I solved it by increasing the default log size setting for FREB to 1024kB, the default is 512kB.

Run this command in a cmd.exe prompt:

cd /d "%windir%\system32\inetsrv"
appcmd set config /section:sites -siteDefaults.traceFailedRequestsLogging.maxLogFileSizeKB:1024

You can reset this setting to the default using:

appcmd set config /section:sites -siteDefaults.traceFailedRequestsLogging.maxLogFileSizeKB:512

Reference: FREB: LOG_FILE_MAX_SIZE_TRUNCATE

share|improve this answer
1  
Some explanation what is going on here? –  vonbrand Mar 27 '13 at 10:10
1  
can you elaborate on that comment? thanks :) –  Johan Andersson Mar 28 '13 at 12:46
    
Thanks for the details about trigger and final status. IIRC, these were totally undocumented when I last looked. I knew about LOG_FILE_MAX_SIZE_TRUNCATE, but I'm unclear what was solved solved by adjusting this. Do you mean that FREB logged some more details that had been getting truncated before adjusting the setting, or something else? –  James Apr 5 '13 at 11:39
    
With regard to vonbrand's comment, I'm guessing he's looking for details on why IIS would encounter a condition that resulted in HTTP 500 status but return 200 to the user. I think that's the dilemma -- the meanings of 'trigger status' and 'final status' are somewhat intuitive based on their names, but I have no idea why a web server would function this way. –  James Apr 5 '13 at 11:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.