Closed kunago closed 4 years ago
I think I found the solution to the first issue in the forum - this might help with the timeout, right?
APPLICATION_SERVERCODECJS__MAX_EXECUTION_TIME
What value is safe and reasonable enough? The current default is 100ms. If I set it to 1000ms, just to be sure the error is not because of a timeout, will that be a good idea or not?
EDIT: Timeout limit is one thing, quality of code another. Although I do not understand and therefore don't use bitwise operations, making my code run 4x faster did not take long and definitely is was one of the issues.
The max execution time is there to make sure that in a multi-tenant environment, inefficient scripts (or never ending for loops) are killed after a certain execution time. There is no recommendation that I can give you.
The handle received ping error: get ping lookup error
is not something which is related to "It is a problem to see the application server throwing away some payloads for various reasons".
I'm going to close this issue. In the future, please make the issues as specific as possible as with this issue it is not clear for me (or others wanting to contribute) what should be done to solve this issue.
What happened?
Application server tends to be unrealiable.
What did you expect?
I expect it to be reliable enough not to throw away payloads. LoRa devices can upload payloads frequently or less than that, like once a day for example. It is a problem to see the application server throwing away some payloads for various reasons.
Steps to reproduce this issue
Steps:
Could you share your log output?
I have been able to trace 2 main problems:
JS decoder timeout
Redis issues
Even though I realize the redis issue may not be directly connected with chirpstack, I can't seem to set it up to be free of errors, although my docker file is very simple.
Your Environment
please note that the setup is using docker with this configuration:
then the config files for each part of chirpstack:
So the question is simple - is there a way to make the application server more reliable? Maybe it could store the failed payloads to memory and try again if it fails?