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

An error occured.
    Type: BananaError
    StatusCode: 503
    Message: Request failed.

There are three types or errors:

  1. UserError a.k.a something 4**,

  2. BananaErrors and

  3. 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