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.
  • [google-appengine]... Joshua Fox
    • [google-appen... 'Nicholas (Google Cloud Support)' via Google App Engine
      • [google-a... 'Nicholas (Google Cloud Support)' via Google App Engine
        • Re: [... Joshua Fox
          • R... 'Nicholas (Google Cloud Support)' via Google App Engine

Reply via email to