Collect more real-world examples of sites that exceed header length limit to inform documentation

Created on 18 May 2018, over 6 years ago
Updated 10 July 2024, 4 months ago

First reported here in https://www.drupal.org/project/pantheon_advanced_page_cache/issues/2911747 β†’ , it is possible Drupal to set more tags than can be included in the Surrogate-Key header. NGINX limits the total size of all headers. Exceeding that limit causes a 502 error. These errors were mitigated in by length checks in pull requests to Drupal 7 and Drupal 8.

Both of those pull requests added a test module, pantheon_advanced_page_cache_test, that showed how custom code can be used to filter long lists of tags. However, the example code is somewhat contrived. I created nodes that referenced 250 taxonomy tags each. When 10 of those nodes try to render on the frontpage View, a giant list of surrogate-keys results. The custom code checks for the frontpage View key, and if present filters out all of the taxonomy_term keys.

This issue here on Drupal.org will stay open to collect real world use cases from people who hit the limit.

πŸ“Œ Task
Status

Postponed: needs info

Version

1.0

Component

Documentation

Created by

πŸ‡ΊπŸ‡ΈUnited States stevector

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡ΊπŸ‡ΈUnited States inversed

    I ran into this in Docksal (local development) with Apache 2.4. I went around and around before realizing it was the Surrogate-Key in the header. I am also using Paragraphs and with all the nesting, there are many entries in there.

    In my case, only pages with lots of Paragraphs were failing.

    config:block_list config:block.block.areasofresearch config:block.block.b5primary_content config:block.block.b5primary_help config:block.block.b5primary_local_actions config:block.block.b5primary_local_tasks config:block.block.b5primary_messages config:block.block.b5primary_page_title config:block.block.impactgoals config:block.block.sharetools config:block.block.b5primary_account_menu config:block.block.b5primary_branding config:block.block.sitebranding_fr config:block.block.b5primary_breadcrumbs node:14 config:block.block.charitableregistration config:block.block.mscanada config:block.block.termsprivacy config:block.block.connectingcanadians config:block.block.footerlinks config:block.block.sociallinks config:block.block.connectlearn config:block.block.donationassistance config:block.block.inquiries config:block.block.takeaction config:block.block.exposedformsearchpage_search config:block.block.languageswitcher config:configurable_language_list config:block.block.readingprogressbar config:block.block.utilitynavtop config:block.block.exposedformsearchpage_search_mobile config:block.block.languageswitcher_mobile config:block.block.mainnavigation_mobile config:block.block.menu_about_us_mobile block_content:1 config:block.block.megamenu_about_us config:block.block.menu_find_support_mobile block_content:2 config:block.block.megamenu_find_support config:block.block.menu_get_involved_mobile block_content:3 config:block.block.megamenu_get_involved config:block.block.menu_intro_to_ms_mobile block_content:4 config:block.block.megamenu_intro_to_ms config:block.block.menu_managing_ms_mobile block_content:5 config:block.block.megamenu_managing_ms config:block.block.menu_ms_research_mobile block_content:6 config:block.block.megamenu_ms_research config:block.block.readingprogressbarmobile config:block.block.utilitynavtop_mobile config:block.block.mainnavigation_2 config:block.block.msdonateblock config:block.block.newslettersignupfooter config:block.block.views_block__related_articles_related_article_cards_block config:block.block.views_block__related_blog_posts_related_blog_posts_cards_block block_view config:simple_block.simple_block.charitable_registration config:filter.format.full_html config:system.menu.terms-privacy config:simple_block.simple_block.ms_canada config:simple_block.simple_block.social_links config:simple_block.simple_block.footer_links config:simple_block.simple_block.connecting_canadians config:system.menu.donation-assistance config:system.menu.inquiries config:system.menu.take-action config:system.menu.connect-learn config:simple_block.simple_block.newsletter_sign_up_footer node_view config:core.entity_view_display.node.flexpage.full config:views.view.related_content_default node_list config:layout_builder_styles.style.dsk_4_col_grid_lb_section config:layout_builder_styles.style.post_content_section paragraph_view paragraph:171 config:paragraphs.settings paragraph:170 config:core.entity_view_display.paragraph.carousel_embed_dynamic.default config:views.view.latest_research_carousel node:61 node:72 node:60 node:71 node:383 node:22 node:70 node:59 node:15 config:field.storage.node.field_highlighted paragraph:286 config:core.entity_view_display.paragraph.herospace_default.hero_title config:filter.format.title_html user:9 paragraph:344 taxonomy_term:35 taxonomy_term:36 paragraph:285 paragraph:343 paragraph:676 user:0 paragraph:48 paragraph:342 paragraph:284 paragraph:291 user:3 config:core.entity_view_display.paragraph.carousel_promo.default paragraph:141 paragraph:140 config:views.view.bf_red_list_template node:1212 node:1205 node:1207 node:1209 node:1204 node:1200 node:5 node:76 node:78 node:77 paragraph:1893 user:20 paragraph:1886 paragraph:1888 paragraph:1890 paragraph:1885 paragraph:1881 paragraph:160 taxonomy_term:2 taxonomy_term:3 paragraph:348 paragraph:350 paragraph:349 paragraph:139 config:core.entity_view_display.paragraph.spacer.default paragraph:134 paragraph:131 node:20 node:4 node:19 config:core.entity_view_display.paragraph.related_links_embed_curated.default config:core.entity_view_display.paragraph.promo_links_advanced.default paragraph:133 config:core.entity_view_display.paragraph.info_block.default config:layout_library.layout.info_block_right_image media_view media:17 config:core.entity_view_display.media.image.default config:image.style.original file:21 config:filter.format.rich_text paragraph:132 paragraph:130 paragraph:129 config:core.entity_view_display.paragraph.related_links_embed_auto.default config:views.view.related_content_links config:core.entity_view_display.paragraph.related_links_alt_wrapper.default paragraph:128 config:core.entity_view_display.paragraph.content.default paragraph:127 paragraph:126 paragraph:125 node:23 node:31 node:27 config:core.entity_view_display.paragraph.related_links_alt_embed_curated.default paragraph:124 paragraph:68 config:core.entity_view_display.paragraph.testimonials.default paragraph:67 config:core.entity_view_display.paragraph.testimonial.default config:layout_library.layout.testimonial_slide_left_image media:5 paragraph:66 config:layout_library.layout.testimonial_slide_right_image paragraph:65 paragraph:30 media:7 file:11 paragraph:29 config:core.entity_view_display.paragraph.promo.default media:8 config:core.entity_view_display.media.image.card config:image.style.card_default file:12 paragraph:28 config:core.entity_view_display.paragraph.media.default paragraph:27 config:core.entity_view_display.paragraph.dynamic_lists.default config:views.view.blog_list node:81 node:79 node:80 paragraph:224 taxonomy_term:70 paragraph:353 taxonomy_term:67 paragraph:351 taxonomy_term:69 paragraph:352 taxonomy_term:68 paragraph:70 paragraph:36 paragraph:19 config:core.entity_view_display.paragraph.block_reference.default paragraph:26 paragraph:25 config:core.entity_view_display.paragraph.content_grid_item_existing.default paragraph:24 paragraph:23 config:core.entity_view_display.paragraph.content_grid.default paragraph:95 paragraph:94 config:core.entity_view_display.paragraph.related_links_wrapper.default paragraph:93 paragraph:92 paragraph:91 paragraph:90 paragraph:22 node:1 config:layout_builder_styles.style.adv_content_section paragraph:31 config:layout_builder_styles.style.herospace_section config:system.site block_content_view config:core.entity_view_display.block_content.basic.default node:57 node:48 config:system.menu.main config:system.menu.utility-nav-top config:system.menu.account config:tb_megamenu.menu_config.main__b5primary config:system.theme config:admin_toolbar_tools.settings config:system.menu.admin config:node.type.page config:node.type.blogpost config:node.type.event config:node.type.flexpage config:node.type.research config:node.type.publication config:node.type.person config:node.type.pressrelease config:node.type.article config:node.type.supportgroup config:node.type.symptom config:comment.type.default_comments config:contact.form.personal config:contact.form.simple_contact_form config:contact.form.feedback config:entityqueue.entity_queue.staff_listing views_data entity_field_info config:media.type.audio config:media.type.file config:media.type.image config:media.type.remote_video config:media.type.video config:system.menu.devel config:system.menu.footer config:system.menu.tools config:system.menu.utility-nav config:system.menu.second-utility-nav config:system.menu.workbench config:paragraphs.paragraphs_type.layout_paragraph config:paragraphs.paragraphs_type.block_reference config:paragraphs.paragraphs_type.carousel_embed_curated config:paragraphs.paragraphs_type.carousel_embed_dynamic config:paragraphs.paragraphs_type.carousel_promo config:paragraphs.paragraphs_type.contact_form_ref config:paragraphs.paragraphs_type.content_grid config:paragraphs.paragraphs_type.content_grid_item_custom config:paragraphs.paragraphs_type.dynamic_lists config:paragraphs.paragraphs_type.content_grid_item_existing config:paragraphs.paragraphs_type.featured_content_section config:paragraphs.paragraphs_type.from_library config:paragraphs.paragraphs_type.carousel_embed_hp_hero config:paragraphs.paragraphs_type.carousel_slide_hp_hero config:paragraphs.paragraphs_type.carousel_slide_content_hp_hero config:paragraphs.paragraphs_type.html_pattern_reference config:paragraphs.paragraphs_type.herospace_default config:paragraphs.paragraphs_type.herospace_hp config:paragraphs.paragraphs_type.info_block config:paragraphs.paragraphs_type.content config:taxonomy.vocabulary.research_affiliation config:taxonomy.vocabulary.areas config:taxonomy.vocabulary.research_areas config:taxonomy.vocabulary.locations config:taxonomy.vocabulary.blog_type config:taxonomy.vocabulary.category config:taxonomy.vocabulary.country config:taxonomy.vocabulary.event_type config:taxonomy.vocabulary.flex_type config:taxonomy.vocabulary.geo_region config:taxonomy.vocabulary.impact_goal config:taxonomy.vocabulary.location_type config:taxonomy.vocabulary.people_type config:taxonomy.vocabulary.attendees_support config:taxonomy.vocabulary.research_priority config:taxonomy.vocabulary.research_topics config:taxonomy.vocabulary.research_study config:taxonomy.vocabulary.languages config:taxonomy.vocabulary.symptom config:taxonomy.vocabulary.tags config:user.role.anonymous config:user.role.authenticated config:user.role.designer config:user.role.content_editor config:user.role.content_manager config:user.role.site_manager config:user.role.site_developer config:user.role.administrator config:user.role.user_manager rendered http_response local_task config:workflows.workflow.editorial scheduled_transition_settings scheduled_transitions_for:node:14 config:devel.toolbar.settings config:shortcut.set.default user:1

  • πŸ‡ΊπŸ‡ΈUnited States mariacha1

    In our case, we are using Search API and have a facet for a taxonomy that has hundreds of entries. Because the facet becomes invalidated by changing any of the terms within that taxonomy, the search results page has cache tags for basically every term on the site.

  • πŸ‡―πŸ‡΅Japan ultrabob Japan

    I suspect maybe this has something to do with solr, though there is no search and no blocks on this node page. It works ok, and the page loads listing these keys when logged in as a user other than the owner of the node:

    block_view config:block.block.activefiscalyears config:block.block.adminimal_theme_content config:block.block.adminimal_theme_help config:block.block.adminimal_theme_local_actions config:block.block.adminimal_theme_login config:block.block.adminimal_theme_messages config:block.block.adminimal_theme_page_title config:block.block.approvalsblock config:block.block.approvalstatus config:block.block.approvalstatus_2 config:block.block.budgets config:block.block.budgets_2 config:block.block.collapsefacets config:block.block.contracttype config:block.block.contracttype_2 config:block.block.contracttype_3 config:block.block.contracttype_4 config:block.block.countries config:block.block.countries_2 config:block.block.currency config:block.block.dbmrsfacets config:block.block.dbprjfacets config:block.block.dbprpsearchfacets config:block.block.expensesclaimed config:block.block.expensesclaimed_2 config:block.block.exposedformdb_mission_searchdb_mission_search_page config:block.block.exposedformdb_proposal_searchpage_1 config:block.block.exposedformsearch_contentmission_search_page config:block.block.externallyfunded config:block.block.externallyfunded_2 config:block.block.facetgroup config:block.block.fiscalyear config:block.block.fiscalyear_2 config:block.block.fiscalyear_3 config:block.block.fiscalyear_4 config:block.block.fiscalyear_5 config:block.block.funded config:block.block.funded_2 config:block.block.funder config:block.block.fundingagency config:block.block.fundingagency_2 config:block.block.fundingagency_3 config:block.block.igesortsuapn config:block.block.igesortsuapn_2 config:block.block.includeshomeleave config:block.block.includeshomeleave_2 config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.masquerade config:block.block.missionbuttons config:block.block.missionbuttons_2 config:block.block.mrsblocks config:block.block.nonkntbooking config:block.block.nonkntbooking_2 config:block.block.pprsactionbuttons config:block.block.pprsactionbuttons_2 config:block.block.pprstop config:block.block.projectcurrency config:block.block.projectfacets config:block.block.proposalapprovalbuttons config:block.block.proposalfacets config:block.block.region config:block.block.region_2 config:block.block.region_3 config:block.block.region_4 config:block.block.requirescarrental config:block.block.requirescarrental_2 config:block.block.researchunit config:block.block.responsivemenumobileicon config:block.block.sdgs config:block.block.sdgs_2 config:block.block.sdgs_3 config:block.block.sdgs_4 config:block.block.sitebranding config:block.block.specialfundtype config:block.block.specialfundtype_2 config:block.block.tabs config:block.block.team config:block.block.team_2 config:block.block.team_3 config:block.block.topblocks config:block.block.topics config:block.block.topics_2 config:block.block.topics_3 config:block.block.topics_4 config:block.block.traveller config:block.block.traveller_2 config:block.block.useraccountmenu config:block.block.views_block__mission_lists_pending_requests_filtered config:block.block.views_block__mission_lists_pending_requests_filtered_2 config:block.block.views_block__my_actions_pprs_my_actions_pprs_filtered config:block.block.views_block__my_actions_pprs_my_actions_pprs_filtered_2 config:block.block.views_block__proposals_lists_block_1 config:block.block.views_block__top_page_blocks_block_1 config:block.block.views_block__top_page_blocks_block_1_2 config:block.block.views_block__top_page_blocks_recent_mission_requests config:block_list config:color.theme.adminimal_theme config:core.entity_form_display.node.project.default config:extlink.settings config:filter.format.restricted_html config:flag.flag.email_node config:flag.flag.subscribe_node config:sitewide_alert.settings config:system.menu. account config:system.menu.account config:system.menu.main config:system.site config:workflows.workflow.project_flow file:3249 file:3252 file:4211 http_response local_task node:1823 node:2163 node:2541 node_view offcanvas_render rendered taxonomy_term:2230 taxonomy_term:268 taxonomy_term:282 taxonomy_term:303 taxonomy_term:421 taxonomy_term:592 user:15 user:83

    When the author of the node accesses the page they actually get a 502 error.

  • πŸ‡ΊπŸ‡ΈUnited States scottsawyer Atlanta

    We have a search api index view of commerce product variations with facets. Each user has their own prices (pulled from an API), plus a default price for anonymous users. We received a report that invalid prices were being displayed (prices from other users). Obviously very bad.

    I see a bunch of these warnings, most reference the faceted URLs (/products/{product-type}?f%5B0%5D=configuration%3A1088.

    I tried rebuilding cache, but I just keep seeing the same message.

    What can I do to resolve this?

  • πŸ‡ΊπŸ‡ΈUnited States RichardDavies Portland, Oregon

    Similar to @mariacha1 in comment 12, I started having this problem when I added a facet to a Search API view. The facet was for a "tags" taxonomy which has about 200 terms in it. Pages on our site can have one or more tags associated with them, and I wanted to allow users to filter their search results by a selected tag.

    Interestingly, disabling the facet setting "Transform entity ID in aggregated field to label" made the error go away, but this wasn't an acceptable workaround because I need the facet to display the term's name instead of the term ID. Additionally, I found that setting a hard limit of 250 items on the facet also prevented the error, which was the workaround I ultimately went with.

Production build 0.71.5 2024