Known Issues

This page contains known issues in 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 v2, the maximum request timeout is 60 seconds.

Endpoints Frameworks Migration

When you migrate your API to Endpoints Frameworks v2, you must currently deploy to a new App Engine app version. Reusing an old app version may conflict with the old Endpoints deployment, causing requests with paths beginning with /_ah/spi to be sent to the Endpoints Frameworks v2 backend, rather than /_ah/api.

Poor performance on Automatic Scaling instances

App Engine offers three scaling types: basic, manual, and automatic. The Endpoints Management Framework uses background threads, which automatic scaling instances do not support. The 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. Because of this fact, the communication with Google services happens during the request instead. The framework 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 are not supported

When you deploy an OpenAPI document via gcloud endpoints services deploy, Cloud Endpoints rejects OpenAPI documents that include paths with trailing slashes.

If you are using Endpoints Frameworks, you must remove the trailing slash in the method decorator (for Python) or the method annotation (Java).

Java

This section describes known issues in the Java version of Endpoints Frameworks.

Legacy (v1) Java Endpoints Frameworks

The Java framework has a bug that causes an exception to be thrown 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 v2.

Python

This section describes known issues in the Python version of Endpoints Frameworks.

Error message: ImportError: cannot import name locked_file

The error message ImportError: cannot import name locked_file has been observed in Endpoints Frameworks with Python when you run pip install with a requirements.txt file. The issue is caused when pip installs a version of the oauth2client package that is incompatible with google-endpoints-api-management. To workaround this issue, make sure that the google-endpoints and google-endpoints-api-management lines appear first in your requirements.txt file, for example:

google-endpoints==2.4.5
google-endpoints-api-management==1.3.0

Add other requirements after these lines.

API returns 404 errors when testing locally

All endpoints return 404 when you test your API locally using dev_appserver.py, but when you deploy your API to App Engine, the endpoints respond as expected. This issue has been observed in applications that use the Django-six library.

This issue is believed to be caused by a version conflict between the python-future library, which is included in 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.

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Endpoints Frameworks for App Engine
Need help? Visit our support page.