Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 PST on 31 March 2024, to get $100 off your ticket.
After upgrading to 1.16, I started getting the following when installing via drush on Travis CI for my distro for vih.dk build on top of Panopoly.
WD search_api: SearchApiException while adding index Database Node [error]
Index to server Database Server: SQLSTATE[42S02]: Base table or view
not found: 1146 Table 'drupal.search_api_db_database_node_index_text'
doesn't exist in SearchApiDbService->fieldsUpdated() (line 684 of
/home/travis/build/vih/drupal/sites/all/modules/contrib/search_api_db/service.inc).
WD php: Warning: array_keys() expects parameter 1 to be array, null [warning]
given in drupal_schema_fields_sql() (line 7293 of
/home/travis/build/vih/drupal/includes/common.inc).
WD search_api: SearchApiException while adding index Database Node [error]
Index to server Database Server: SQLSTATE[42S02]: Base table or view
not found: 1146 Table 'drupal.search_api_db_database_node_index_text'
doesn't exist in SearchApiDbService->fieldsUpdated() (line 684 of
/home/travis/build/vih/drupal/sites/all/modules/contrib/search_api_db/service.inc).
See Travis build here: https://travis-ci.org/vih/vih-build/jobs/50526089#L757
The build is able to complete.
Comment | File | Size | Author |
---|---|---|---|
#5 | search-api-exceptions-during-install-2425903-5.patch | 478 bytes | adamsro |
Comments
Comment #1
dsnopekThis is also happening with the Panopoly tests on Travis-CI, but I didn't notice it since all the tests (including the search ones) are passing!
Comment #2
dsnopekComment #3
adamsro CreditAttribution: adamsro commentedRelated issue.
Comment #4
adamsro CreditAttribution: adamsro commentedSorry previous issue referenced isn't related. Although I'm not sure if this is the best solution, I was able to prevent the exception by changing the boost parameter on search_api_panelizer_title field from "1.0" to "8.0",
panopoly_search.features.inc:335
.The exception happens because in
search_api_db/service.inc:555
there's a check to see if$field['boost'] != $new_fields[$name]['boost']
which evaluates to true leading to code that attempts to update table that doesn't yet exist.Comment #5
adamsro CreditAttribution: adamsro commented$field's boost is expected to be 8.0 because its assigned that in the search_api_index entities imported on
panopoly_search.features.inc:52
andpanopoly_search.features.inc:147
, so I suppose making the search_api_panelizer_title field boost also equal to 8.0 on the search_api_server is the right solution.Comment #7
dsnopek@adamsro: Thanks for digging into this! I tried out your patch on Travis-CI and it works - committing! :-)
Comment #8
adamsro CreditAttribution: adamsro commentedhurray!
Comment #9
hefox CreditAttribution: hefox commentedahaha
I had a ticket in the private OA issue queue to fix these errors on the test install site
"Hm, they stopped occuring on Feb 19th, what happened?"
"Hm, I updated panopoly to 1.17"
"...oh!"
Thanks :)