PHP message: Unsupported taxonomy

57 views
Skip to first unread message

Juan Cruz Amusategui

unread,
Jun 28, 2023, 11:20:57 PM6/28/23
to AtoM Users
Hi,
I'm currently running Atom 2.6.2 - 184. Whenever I go to Manage > Taxonomies and click in "Genre" I get a "500 Internal Server Error" page.

This is what i find in the error log (var/log/nginx/error.log):
FastCGI sent in stderr: "PHP message: Unsupported taxonomy" while reading response header from upstream ... request: "GET /index.php/genre HTTP/1.1", upstream: "fastcgi://unix:/run/php7.2-fpm.atom.sock:"

I have been able to open the "Genre" page before and add new terms there. In fact those terms work when I click on them. But at some point I lost the ability to add new terms under "Genre" because of this 500 error.

Any ideas how to troubleshoot this ?

Regards,
Juan


José Raddaoui

unread,
Jul 3, 2023, 12:13:39 PM7/3/23
to AtoM Users
Hi Juan,

This seems like an integrity issue in your database or search index. The error is thrown here, where we look for each term taxonomy's id in a set of expected ids. My impression is that somehow, one of the terms belongs to the genre taxonomy in the search index but it doesn't in the database. A couple of suggestions to troubleshoot this further:
Best,
Radda.

Juan Cruz

unread,
Jul 4, 2023, 10:39:04 AM7/4/23
to ica-ato...@googlegroups.com
Hi, José.
Thank you very much for your reply. I've re-populated the search index as you suggested. I can access the Genre page now but search isn't working.
When I run "php symfony search:populate --update" I get a long list of errors like this:

Error in one or more bulk request actions:                                                          
  index: /atom/QubitTerm/111 caused type[QubitInformationObject] missing [index: atom]                
  index: /atom/QubitTerm/113 caused type[QubitInformationObject] missing [index: atom]                
  index: /atom/QubitTerm/114 caused type[QubitInformationObject] missing [index: atom]                
  index: /atom/QubitTerm/115 caused type[QubitInformationObject] missing [index: atom]      
...

This is the output for "php symfony search:status":

Elasticsearch server information:
 - Version: 5.6.16
 - Host: localhost
 - Port: 9200
 - Index name: atom

Document indexing status:
 - Accession: 0/0
 - Actor: 5/5
 - Aip: 0/0
 - Function object: 0/0
 - Information object: 0/424
 - Repository: 1/1
 - Term: 430/430

Regards,
Juan


--
You received this message because you are subscribed to a topic in the Google Groups "AtoM Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ica-atom-users/FyiheZFXsew/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ica-atom-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ica-atom-users/18a9e4c7-dcbe-4fc1-a0b8-6a080a7f5fa2n%40googlegroups.com.

José Raddaoui

unread,
Jul 4, 2023, 11:31:41 AM7/4/23
to AtoM Users
Hi again Juan,

Try it without the '--update' flag, it looks like the index needs to be fully recreated.

Best,
Radda.

Juan Cruz

unread,
Jul 4, 2023, 11:39:23 AM7/4/23
to ica-ato...@googlegroups.com
Thank you José.
I tried without the flag before but I get this:

Defining mapping QubitAip...
Defining mapping QubitTerm...
Defining mapping QubitActor...
Defining mapping QubitAccession...
Defining mapping QubitRepository...
Defining mapping QubitFunctionObject...
Defining mapping QubitInformationObject...

                                                                 
  Limit of total fields [3000] in index [atom] has been exceeded  
                                                                 

José Raddaoui

unread,
Jul 4, 2023, 11:59:41 AM7/4/23
to AtoM Users
Hi Juan,

That's a bit unexpected for me, maybe you have multiple languages enabled (which adds extra fields to the index) in your instance, but I never saw it going over that limit. If you are not using those languages in your site, I'd try to remove them from settings/languages to see if that solves the issue. If that's not an option, you can change that limit through configuration:


You'll probably have a file overwriting this configuration in your AtoM folder already, in 'config/search.yaml', the format to overwrite just that property could be something like:

all:
  index:
    configuration:
      index.mapping.total_fields.limit: 10000


Make sure to clear the application cache before running the re-indexing task with:

php symfony cc

Best,
Radda.

Juan Cruz

unread,
Jul 4, 2023, 3:47:08 PM7/4/23
to ica-ato...@googlegroups.com
José,
I removed all languages in settings except for english and spanish.
Cleared cache with "php symfony cc".
When I run "php symfony search:populate" I get:

Defining mapping QubitAip...

  name cannot be empty string            
                                         
If I run "php symfony search:status" it returns:

Elasticsearch server information:
 - Version: 5.6.16
 - Host: localhost
 - Port: 9200
 - Index name: atom

Document indexing status:
 - Accession: 0/0
 - Actor: 0/5

 - Aip: 0/0
 - Function object: 0/0
 - Information object: 0/424
 - Repository: 0/1
 - Term: 0/430



José Raddaoui

unread,
Jul 5, 2023, 3:19:40 AM7/5/23
to AtoM Users
Hi again Juan,

That issue actually rings a bell, it's possible that there is an empty language row in the settings. Check the following Redmine ticket (that was fixed in 2.6.3) and forum thread:


Best,
Radda.

Juan Cruz

unread,
Jul 5, 2023, 6:37:49 PM7/5/23
to ica-ato...@googlegroups.com
Thank you very much José, everything seems to be working again.

Regards,
Juan

Reply all
Reply to author
Forward
0 new messages