Search code examples
javagoogle-app-enginegoogle-cloud-sql

The request to API call datastore_v3.Put() was too large


I am using google cloud sql with appengine.

I am getting com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large. despite I am not using the Datasotre API.

I think according to the docs https://developers.google.com/appengine/docs/java/cloud-sql/developers-guide#access_limits that the data-size limit is 16MB served in 60 seconds.

My data size is around 1 MB and my response is definitely less than 1 minute. If I try with smaller data, everything works correctly.

So, why is the exception thrown ? what is the problem ? Is it a bug in google app engine? or is there a size-limitation , where is it documented ? or what ?


Solution

  • This happens because of GAE sessions, which under the hood use GAE Datastore to save session objects. This exception is thrown if more than 1Mb data is stored in session.