This page contains known issues in Cloud Endpoints Frameworks.
Java and Python
This section describes known issues that affect both the Java and Python versions of Endpoints Frameworks.
Maximum request timeout
For APIs using Endpoints Frameworks version 2, the maximum request timeout is 60 seconds.
Endpoints Frameworks migration
When you migrate your API to Endpoints Frameworks version 2, you must
deploy your API to a new App Engine app. If you reuse the old
App Engine app, requests that begin with the version 1 path,
might get routed to the Endpoints Frameworks version 2 backend, which
expects paths to begin with
Poor performance on automatic scaling instances
App Engine offers three scaling types: basic, manual, and automatic. Endpoints Frameworks uses background threads, which automatic scaling instances don't support. Endpoints Frameworks must communicate with Google services to check quotas and report API activity, among other things. For basic and manual scaling instances, a background thread performs this communication to avoid slowing down requests. Automatic scaling instances, however, don't support background threads. Instead, the communication with Google services happens during the request. Endpoints Frameworks still works, but with potentially reduced performance.
Because of this issue, you might want to configure another scaling type. See the following sections in the App Engine documentation:
Paths with trailing slashes aren't supported
When you deploy an OpenAPI document by using
gcloud endpoints services deploy,
Cloud Endpoints rejects OpenAPI documents that include paths with a trailing
slash, for example:
paths: "/echo/": post: description: "Echo back a given message."
In Endpoints Frameworks, you must remove the trailing slash in the Python method decorator or the Java method annotation.
This section describes known issues in Endpoints Frameworks for Java.
Legacy (v1) Java Endpoints Frameworks
Endpoints Frameworks version 1 for Java has a bug that throws an exception when an enum is annotated. This issue is caused by a dependency on an old version of Jackson. To workaround this issue, you must migrate to Endpoints Frameworks version 2.
This section describes known issues in Endpoints Frameworks for Python.
ImportError: cannot import name locked_file
When you run
pip install with a
requirements.txt file, you might get an
ImportError: cannot import name locked_file error message. The issue
is caused when
pip installs a version of the
oauth2client package that is
google-endpoints-api-management. To workaround this issue,
make sure that the
lines appear first in your
requirements.txt file, for example:
google-endpoints==4.8.0 google-endpoints-api-management==1.11.1 # Newer versions of rsa module are incompatible with Python 2.7 rsa==4.5; python_version < '3'
Add other requirements after these lines.
404 errors when testing locally
Symptom: All endpoints return
404 when you use
dev_appserver.py to test your
API locally, but when you deploy your API to App Engine, the
endpoints respond as expected. This issue has been observed in applications
that use the
This issue is caused by a version conflict between the
which is included in both the Endpoints Frameworks for Python library
and the Django-six library. The exact version of the Django-six library causing
the conflict is unknown at this time.