Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

Version 1 Current »

Search isn't working (e.g. on /platform/platform/search/search_results.html url). Instead of search results the following SQL error is shown:

RuntimeException: Unknown column 'custom_data.l1_cust_' in 'field list' (1054)
SQL:
    INSERT INTO 53x_ses_841665155_53x_Search (Relevance, ItemId, ResourceId, ItemType, EdPick)
    SELECT (IF(53x_Link.l1_Name LIKE "%forum%", 4, 0) + IF(53x_Link.l1_Name LIKE "%forum%", 1, 0) + IF(53x_Link.l1_Description LIKE "%forum%", 4, 0) + IF(53x_Link.l1_Description LIKE "%forum%", 1, 0) + IF(53x_Link.Url LIKE "%forum%", 4, 0) + IF(53x_Link.Url LIKE "%forum%", 2, 0) + IF(custom_data.l1_cust_ LIKE "%forum%", 4, 0) + IF(custom_data.l1_cust_ LIKE "%forum%", 0, 0)) / 4 * 0.9 + (Hits + 1) / (MAX(Hits) + 1) * 0.05 + (CachedRating + 1) / (MAX(CachedRating) + 1) * 0.05 AS Relevance, 53x_Link.LinkId AS ItemId, 53x_Link.ResourceId, 4 AS ItemType, 53x_Link.EditorsPick AS EdPick
    FROM 53x_Link
    WHERE (((1) AND (`53x_Link`.`l1_Name` LIKE '%forum%')) OR ((1) AND (`53x_Link`.`l1_Description` LIKE '%forum%')) OR ((1) AND (`53x_Link`.`Url` LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.`l1_Name` LIKE '%forum%')) OR ((1) AND (`53x_Link`.`l1_Description` LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%')) OR ((1) AND (`53x_Link`.custom_data.l1_cust_ LIKE '%forum%'))) AND (53x_Link.Status = 1)
    GROUP BY 53x_Link.LinkId
    ORDER BY Relevance DESC  in ...\core\kernel\utility\logger.php on line 887

From the error message it can be detected that it has something to do with custom fields. Digging deeper revealed that this is a bug introduced by another bugfix in  INP-1301 - Getting issue details... STATUS  task.

Here is what happens:

  1. on search result page both categories and category items (e.g. links) are displayed and both have custom fields
  2. attempt to read category custom fields loads the "cdata" unit config
  3. thanks to kUnitConfigCloner class (introduced in  INP-1301 - Getting issue details... STATUS ) list of clones is already available when this unit config is loaded
  4. each clone is processed, but they have hooks to same "cdata" unit config
  5. this is considered as recursion and is blocked
  6. custom fields of all but categories are not discovered

Solution

Don't use cached unit config clones, when application initialization has completed.

Related Tasks

  • No labels