Hey there, Thanks for providing me with your *appengine-web.xml* and *web.xml*. At the moment, the platform limits the number of *URLMap* handlers to *100*. This can be found in the *appinfo.py* file in your own gcloud SDK installation ( *<your-cloud-sdk-dir>/platform/google_appengine/google/appengine/api/appinfo.py* on line *2089*). The definition of *URLMap* can be found in the same find with a helpful description on line *917*.
When it comes to Java applications, filter mappings, servlet mappings are the main contributors to URLMap handlers. Basically, any entry that maps a URL to an endpoint will be a URLMap. Looking at some of your servlet mappings, you may be able to save some maps in the following ways - Break down the application into many smaller services. Your REST API servlet(s) for instance could be deploy as a separate service, thus taking advantage of the subdomain URL-naming scheme of App Engine services like api.your-domain.com/v1/useful-method. Essentially, the change requires that part of the URL be moved from the path to the subdomain. - Use a CDN or Cloud Storage to serve static resources. In your appengine-web.xml, I could see several <include>. Cloud Storage is an excellent service for serving static resources. - In some cases, a single servlet could serve related paths such as /_ah/*. This example can save you from having 3 single endpoints mappings for /_ah/start, /_ah/health, /_ah/stop. I hope this addresses your questions and helps you trim down some URL mappings. On Friday, February 24, 2017 at 4:02:13 PM UTC-5, Nicholas (Google Cloud Support) wrote: > > There does not seem to be any explicit documentation about the URLMap > limitations for GAE nor a breakdown of which XML elements count towards > this limit. The most relevant documentation I could find is the HTTP/S > load balancer documentation about URL Maps > <https://cloud.google.com/compute/docs/load-balancing/http/url-map> and > the URLMap resource definition > <https://cloud.google.com/compute/docs/reference/beta/urlMaps>. These > are documented in the context of the a load balancer and not an App Engine > application. The load balancer documentation does not describe which XML > elements <filter-mapping>, <servlet-mapping>, etc. nor which app.yaml > handlers count as a URLMap. > > I can't define what constitutes a URLMap until I dig into this a little > deeper. I suspect this will lead to feedback for our documentation team. > For the time being, perhaps we can help identify opportunities to reduce > the number of maps you have using more comprehensive regular expressions > and such. If sensitive and not redacted, feel free to reply privately to > me here with your web.xml and I'll see what I can do to help. > > On Thursday, February 23, 2017 at 4:53:29 AM UTC-5, Joshua Fox wrote: >> >> Where can I find documentation on URLMap count, as reflected in this >> error in deployment to GAE? >> >> "app.yaml... Found more than 100 URLMap entries in application >> configuration" >> >> What is included in the URLMap count? >> >> Which elements in *web.xml *are included? *servlet-mapping*, >> *security-constraint*, *filter-mapping*, or something else? >> >> Which elements in *appengine-web.xml ? * >> >> For some reason, removing *<include path="**"/> *from >> *appengine-web.xml *actually allows deployment for us. Does that path >> count as a single URLMap? Or as one per static file? Per JSP? >> > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/b08cff4d-b9f6-4a7b-b42a-0adc3eda0d51%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.