Skip to first unread message

Ygor Gabriel

unread,
Mar 12, 2024, 9:19:53 AMMar 12
to AtoM Users
Greetings, 

I've tryed to import a cvs with 5500 rows, but after a week the job haven't been concluded. So, I've used php symfony jobs:clear and the job has desapeared from the list in the frontend. 

But now, when I try to validate or import any csv, the job never starts and appears like this: 

Atom not validating csv.jpg

Thank you so much in advancing for your assistance.

Cheers,
Ygor Souza
Brazil

Dan Gillean

unread,
Mar 12, 2024, 10:25:11 AMMar 12
to ica-ato...@googlegroups.com
Hi Ygor, 

Any time you encounter an unexpected error, one of the best things you can do first is to check the webserver error logs to see if there is any relevant information. If you have followed our recommended installation instructions and are using Nginx for your webserver, you can check the most recent error log entries with:
Given what you describe, I suspect that the issue is simply that the job scheduler will require a restart. You will know that this is the case if you look in the webserver error logs and see a message like:

"No Gearman worker available that can handle the job."

You can also check the status of the job scheduler's worker with the following command: 
  • sudo systemctl status atom-worker
If the atom-worker is not running, then you will need to restart the job scheduler, as well as reset the fail-counter. Here is a previous forum thread with more information:
If this problem keeps recurring, this may indicate that your system needs more memory. In general, our recommended technical requirements suggest that for a small to medium-sized AtoM installation, you should ensure you have at least 7GB of memory. However, we have seen cases  (such as this forum thread) where users have needed to increase the system memory to 10GB or more to resolve constant Gearman failures.  

Let us know how it goes! 

Cheers, 

Dan Gillean, MAS, MLIS
AtoM Program Manager
Artefactual Systems, Inc.
604-527-2056
@accesstomemory
he / him


--
You received this message because you are subscribed to the Google Groups "AtoM Users" group.
To unsubscribe from this group and stop receiving emails from it, 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/dec13ae3-429d-404e-b7e8-8f77eda9666dn%40googlegroups.com.

Ygor Gabriel

unread,
Mar 12, 2024, 1:17:01 PMMar 12
to ica-ato...@googlegroups.com
Hi Dan, 

Thank you so much, it worked!

Now I'm having a different problem, cause I can't run php symfony tools:delete-description -slug. Every time I've tried the error is the same that occurs when I use php symfony search:populate. Seems to be a problem with elastic search, but I didn't find a solution. The error is this:

> delete-description [09:55:21 AM] Deleting description "Livro de registro dos rendimentos do gado de corte" (slug: cc, +27 descendants)
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Elastica\Exception\ResponseException::__construct() must be an instance of Elastica\Request, string given, called in /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php on line 523 and defined in /usr/share/nginx/atom/vendor/composer/ruflin/elastica/lib/Elastica/Exception/ResponseException.php:30
Stack trace:
#0 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(523): Elastica\Exception\ResponseException->__construct()
#1 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(541): arElasticSearchPlugin->getVersion()
#2 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(91): arElasticSearchPlugin->checkVersion()
#3 /usr/share/nginx/atom/lib/search/QubitSearch.class.php(35): arElasticSearchPlugin->__construct()
#4 /usr/share/nginx/atom/lib/model/QubitInformationObject.php(372): QubitSearch::getInstance()
#5 /usr/share/nginx/atom/ in /usr/share/nginx/atom/vendor/composer/ruflin/elastica/lib/Elastica/Exception/ResponseException.php on line 30

I'm sorry if that is a very simple or stupid question.

Cheers, 
Ygor

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/BEyfcxgs6w4/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/CAC1FhZ%2B_LUE%3DPcjf7WTjUbYPCSCRKtJ7hLUfEsbmsNo7K%2B1MkQ%40mail.gmail.com.


--
Ygor Gabriel Alves de Souza
Mestrando em História e Culturas Políticas | UFMG
Coordenador de Arquivos Permanentes | Arquivo Público Mineiro
(31) 99188-4232


Dan Gillean

unread,
Mar 13, 2024, 8:29:09 AMMar 13
to ica-ato...@googlegroups.com
Hi Ygor, 

There are no stupid questions when you are learning something new! And in any case, this is not an error I recall seeing before, so I think it's rare, and worth investigating! 

There are a couple possibilities as to what we need to do next, but I suspect that this error is most likely related to some kind of data corruption - meaning that the record you are trying to delete is possibly already partially missing in the database, and this is causing errors when you attempt to delete it (as deletions in AtoM's database tend to start from the root object table, and cascade to all related tables). This may be because of your previous attempt to import records failing midway, leaving some partial rows in the database when it was interrupted. 

Is the record you are trying to delete via the command-line a description that was created as part of your failed import?

First, let's try the easy option: running some of AtoM's most common maintenance tasks, which can resolve a number of issues. You should try to: 
  • Generate slugs
  • Rebuild the nested set
  • Clear the application cache
  • Restart PHP-FPM
  • Repopulate the search index
You will find links and instructions for all of these tasks on our Troubleshooting page: 
Hopefully, this will fix the issue, and you will be able to delete your description now and proceed normally. If not, then it's possible that the repopulate task will encounter the same error and fail. 

If you run into further errors, let's first gather a bit more information. Can you run the following task and share the ouput please?
Additionally, please tell me more about your installation, and how you arrived at these issues. For example: 
  • What is the full AtoM version number or your installation, as found in Admin > Settings?
  • Did you follow exactly the recommended installation instructions for your version? If not, what changes have you made?
  • Are you using a custom theme plugin, and/or does your installation have any other local code customizations?
    • If not, are you using the older default Bootstrap 2 Dominion theme, or the new Bootstrap 5 Dominion theme included in 2.7 and later?
  • Does your AtoM installation meet the recommended minimum hardware requirements listed here? How much memory does your installation have?
  • Are there any important previous actions that might have caused this worth mentioning? For example, did you upgrade recently? Did someone attempt an import? When and why, to the best of your knowledge, did this error start happening? What was the triggering event before the error message, and before 
    • As I said above, I suspect it was the failed CSV import, but anything else that might be relevant, let us know! 
  • What, if anything, have you tried so far to investigate and/or resolve the issue? And what happened?
Given that this is most likely an issue caused by data corruption, I will also suggest that you make a backup of your data, and then follow the suggestions we have in our Troubleshooting documentation to find (and hopefully fix) common forms of data corruption. 

You can back up your database before proceeding by following these instructions: 
You will need to access the MySQL command prompt to run the query that checks for common forms of data corruption. See: 
Our Troubleshooting docs include a query to check for data corruption, as well as some suggestions on next steps based on what you find. See: 
Good luck! 

Dan Gillean, MAS, MLIS
AtoM Program Manager
Artefactual Systems, Inc.
604-527-2056
@accesstomemory
he / him

Ygor Gabriel

unread,
Mar 13, 2024, 2:21:14 PMMar 13
to AtoM Users
Hi Dan!

Thank you for the orientations.

The descriptions that I'm trying to delete are exactly the ones I had problems with the importation. There's 2 fonds with 10k rows that I've imported, but when I've tried to delete them by the frontend the system crashed. Now theses fonds appears in my Atom, but when I try to access them I see the erros below and when I try to delete by php symfony tools:delete-description, I have the error that I've sent before.

Erro atom cc.jpg

So, I've tried the first ones and, as you've predicted, the repopulate task presented the same error:

atom@apm-AtoM:/usr/share/nginx/atom$ sudo -u www-data php symfony search:populate

PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Elastica\Exception\ResponseException::__construct() must be an instance of Elastica\Request, string given, called in /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php on line 523 and defined in /usr/share/nginx/atom/vendor/composer/ruflin/elastica/lib/Elastica/Exception/ResponseException.php:30
Stack trace:
#0 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(523): Elastica\Exception\ResponseException->__construct()
#1 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(541): arElasticSearchPlugin->getVersion()
#2 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(91): arElasticSearchPlugin->checkVersion()
#3 /usr/share/nginx/atom/lib/search/QubitSearch.class.php(35): arElasticSearchPlugin->__construct()
#4 /usr/share/nginx/atom/lib/task/search/arPopulateTask.class.php(47): QubitSearch::getInstance()
#5 /usr/share/nginx/at in /usr/share/nginx/atom/vendor/composer/ruflin/elastica/lib/Elastica/Exception/ResponseException.php on line 30

After that I've tried the php symfony search:status task and the error was the same:

atom@apm-AtoM:/usr/share/nginx/atom$ sudo -u www-data php symfony search:status
Elasticsearch server information:

PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Elastica\Exception\ResponseException::__construct() must be an instance of Elastica\Request, string given, called in /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php on line 523 and defined in /usr/share/nginx/atom/vendor/composer/ruflin/elastica/lib/Elastica/Exception/ResponseException.php:30
Stack trace:
#0 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(523): Elastica\Exception\ResponseException->__construct()
#1 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(541): arElasticSearchPlugin->getVersion()
#2 /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchPlugin.class.php(91): arElasticSearchPlugin->checkVersion()
#3 /usr/share/nginx/atom/lib/search/QubitSearch.class.php(35): arElasticSearchPlugin->__construct()
#4 /usr/share/nginx/atom/lib/task/search/arSearchStatusTask.class.php(33): QubitSearch::getInstance()
#5 /usr/share/ngin in /usr/share/nginx/atom/vendor/composer/ruflin/elastica/lib/Elastica/Exception/ResponseException.php on line 30

About the installation, I have these details:
  • Version: 2.7.3 - 192
  • I've followed the installation instructions
  • I'm using the arDominionPlugin for theme.
  • The hardware details are:
WhatsApp Image 2024-03-13 at 14.55.30.jpeg

I don't know if there's some details that could be important, but if there's any information that could help I'll be glad to inform.

Cheers, 
Ygor

You received this message because you are subscribed to the Google Groups "AtoM Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ica-atom-user...@googlegroups.com.

Dan Gillean

unread,
Mar 13, 2024, 2:43:29 PMMar 13
to ica-ato...@googlegroups.com
Hi again Ygor, 

Okay, the issue is almost certainly about partial records being left in the database when the import failed. So, you have two options on how to proceed. In both cases, you should make a backup of your database now, just in case! See: 
Both options are aslo essentially just 2 different ways of doing the same thing, depending on which feels more comfortable to you. Essentially, we are going to try to find and fix the data corruption. 

Option 1 is more manual - this option allows you to go one step at a time, giving you more control. However, it's also more technical - you will need to access the MySQL command prompt and run some SQL queries. This is the option I presented in my last message - follow the suggestions in this section of our Troubleshooting docs and see what you find and can fix: 
I also found a second way of doing this - Option 2 is to download and run a script that one of our developers prepared, that essentially will automate everything shown in the steps above. See this previous forum thread for a link to the script, basic instructions for running it, and and outline of what it does: 
Note that our AtoM Maintainer team is currently reviewing that script and hoping to incorporate it as a command-line task in the next major AtoM release (i.e. 2.9). However, that review has not yet happened, and 2.9 is unscheduled at the moment, so if you decide to try the script, be sure to make a backup first and proceed at your own risk! 

Either way, I hope you are able to find and fix the data corruption causing this issue. Good luck!

Cheers, 

Dan Gillean, MAS, MLIS
AtoM Program Manager
Artefactual Systems, Inc.
604-527-2056
@accesstomemory
he / him

Reply all
Reply to author
Forward
0 new messages