yandex / yandex-tank

Load and performance benchmark tool
Other
2.43k stars 281 forks source link

Unknown JMeter exceptions cause wrong 500 Internal Sever Error #226

Open maklaut opened 8 years ago

maklaut commented 8 years ago

Tank reports error 500 for all unknown jmeter exceptions by default. Code 500 "Internal Server Error" it is a server side problem. Problems with jmeter scenario (client problem) also reported as 500 error (server problem).

https://github.com/yandex/yandex-tank/blob/master/yandextank/plugins/JMeter/reader.py#L56

def _exc_to_http(param1):
    """ translate exception str to http code"""
    if len(param1) <= 3:
        return int(param1)

    exc = param1.split(' ')[-1]
    if exc in KNOWN_EXC.keys():
        return 0
    else:
        return 500

May be _exc_to_http() must return -1 or 999 or some nonexistent http response code?

nettorta commented 8 years ago

common rules:

unknown net error code, JMeter exception or trash data is 41 just like for core.util.NET: https://github.com/yandex/yandex-tank/blob/master/yandextank/core/util.py#L231 unknown proto code is 0