Inference Errors FAQ
We understand that encountering errors can be frustrating, but fear not! We try to give helpful error messages whenever something goes wrong or unexpected happens.
In this part, we'll guide you through the various error messages you may come across and help you understand what they mean and what you can do to resolve them.
Who is this for
A slightly more advanced Banana user. If you haven't deployed a project on Banana or read through the getting started guide, we highly recommend doing that first and consulting this section if case it's needed.
Also, if you're a long time Banana user, note that these errors are only on Banana V2. V1 errors are not covered here.
Error types
We try to keep it simple and follow the standard http error codes. For example:
4** errors are client errors
5** are server errors
200 is all good 🏄♂️
But on top of that, we give you a specific error type in the return payload. It might look something like this
There are three types or errors:
UserError a.k.a something 4**,
BananaErrors and
PotassiumErrors
The important distinction is between BananaErrors and PotassiumErrors: PotassiumErrors are errors that occurred on your server, that we simply forward to you. Whereas BananaErrors are errors that happen in our stack.
A 503 with a BananaError means that there's a problem with Banana but a 503 of type PotassiumError is something that errored in your Potassium app
If you encounter a BananaError that persists, please contact us and we'll start troubleshooting!
4** errors
400 -- You have no available replicas to process this request
This means that all your replicas are currently processing a request. If you go to your project settings you'll see the amount of minimum & maximum replicas. A very simple mitigation is to increase your maximum replicas.
Another solution to resolve this is by simply retrying. If you're using our SDKs they already have built-in functionality to retry on this error. If you need a more reliable and advanced way of keeping track of the requests we recommend using a managed queueing system. Like AWS SQS, Kafka or similar.
401 -- No API key provided
Remember to insert your credentials. You can read more in the SDK section on how a request should look like.
402 -- You don't have enough credits
If your account balance is below $0 you won't be able to make calls to your project. We highly recommend enabling the auto top-up feature in the billing settings. You can configure a suitable amount which your card is automatically charged with, when your balance is below 1$.
404 -- Your project is hibernating after three days
After three days of no calls to your project, it'll go into a hibernating state. The first call after three days will reactivate your model but, it takes 1-3 minutes for it to come back online. You should be able to see this status in the UI on the project card as well.
413 -- Request or Response entity too large
We currently have a limit of 1MB on the incoming and outgoing payload to ensure that our network stays fast & smooth. In case you need to send large files to your Potassium app we recommend either
chunk the payload into pieces or
upload the file to a storage (like S3, R2 or a database) and send the download link in the payload
We're reviewing these limits often so if the 1MB is a deal breaker, don't hesitate to let us know.
Last updated