nextcloud / fulltextsearch

🔍 Core of the full-text search framework for Nextcloud
https://apps.nextcloud.com/apps/fulltextsearch
GNU Affero General Public License v3.0
216 stars 51 forks source link

Force Quit #351

Open PenguinFreeDom opened 6 years ago

PenguinFreeDom commented 6 years ago

Hi.

Why am i seeing Force Quit at random when i try to index. ?......i there a log somewhere i can look at ?

linuxrrze commented 6 years ago

Had a "Force Quit" just yesterday. In my case it was the result of an apache restart triggered by a system update. (At least in that case I couldn't find a trace in nextcloud.log :-( ) For long running processes (like fulltext indexing) it may be nice to catch this case.

On the other hand, once https://github.com/nextcloud/fulltextsearch/issues/349 is fixed, you should be able to restart indexing at any time and the process can continue where it quit.

tacruc commented 6 years ago
Options: []
Memory: 87 MB
┌─ Indexing  ────
│ Action: indexDocument
│ Provider: Files                Account: user
│ Document: 4238682
│ Info: image/tiff
│ Title: 2017-2018 Nepal Indien/2017.11.27-12.01_Ladakh Leh/Rumbak Pass_PANO/prefix.tif
│ Content size: 0
│ Progress:  33799/60605
└──
┌─ Results ────
│ Result:      0/0
│ Index:
│ Status:
│ Message:
│
│
└──
┌─ Errors ────
│ Error:      1/1
│ Index: files:606846
│ Exception: Elasticsearch\Common\Exceptions\ServerErrorResponseException
│ Message: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: field [content] not present as part of path [attachment.content]
│
│
└──
## x:first result ## c/v:prec/next result ## b:last result
## f:first error ## h/j:prec/next error ## d:delete error ## l:last error
## q:quit ## p:pause
Force Quit

I get the same problem always on this file.

ArtificialOwl commented 6 years ago

Please create a new issue. But you can have more info about the file using:

./occ fulltextsearch:document:platform files 606846

You can have the name of the owner of the file. Then use:

./occ fulltextsearch:document:platform <owner> files 606846

ArtificialOwl commented 6 years ago

The Force Quit thing seems to be triggered if elasticsearch takes more than 5 minutes to process the content of a file.

There is 3 reasons for this timeout:

You can set the TTL (Time To Live) in the file lib/Model/Runner.php (L41) from the app fulltextsearch:

  const TICK_TTL = 300;

This value will be set to 1800 (30 minutes) in a future release of the app.

ArtificialOwl commented 6 years ago

is it fixed ?

agross commented 5 years ago
  • You have set up a maximum file size in the Settings page which is too high (> 70MB)

In my case the offending PDF is 15 MB. It's a book with 474 pages. The book is OCR'ed during indexing.

  • The server itself is (really) loaded.

Not seeing abnormal server loads.

glorenzutti commented 3 years ago

Im having this problem too.

Memory: 78 MB �� Indexing ���� � Action: generateIndexFiles � Provider: Files Account: 003448AC-7A52-4A37-ADC6-E4BF37513AA2 � Document: 184535 � Info: /003448AC-7A52-4A37-ADC6-E4BF37513AA2/files/Grupos en Paseo Colon/JURISDICCIONAL/CAUSAS/PENALES/ANEXO III CD1/ANEXO III Notebook Packard Bell/Reporte IEF - Bookmarks/HTML Export 2015-07-16_15-10-56/Webpages/Fragments � Title: � Content size: � Chunk: 5/6 � Progress: 0/46642 ��� �� Results ���� � Result: 2/2 � Index: files:184535 � Status: ok � Message: {"_index":"nextcloud","_type":"standard","_id":"files:184535","_version":1,"result":"noop","_shards":{"total":0,"successful":0,"failed":0},"_seq_no":211796,"_primary_term":1} � � ��� �� Errors ���� � Error: 7/7 � Index: files:72900739 � Exception: base64_encode() expects parameter 1 to be string, bool given � Message: Error while getting file content � � ���

x:first result ## c/v:prec/next result ## b:last result

f:first error ## h/j:prec/next error ## d:delete error ## l:last error

q:quit ## p:pause

Force Quit

I just browse the dir with the problem, and I have 38K files...

glorenzutti commented 3 years ago

The Force Quit thing seems to be triggered if elasticsearch takes more than 5 minutes to process the content of a file.

There is 3 reasons for this timeout:

* You have set up a maximum file size in the Settings page which is too high (> 70MB)

* The server itself is (really) loaded.

* You killed the process using the `./occ fulltextsearch:stop` in an other terminal.

You can set the TTL (Time To Live) in the file lib/Model/Runner.php (L41) from the app fulltextsearch:

  const TICK_TTL = 300;

This value will be set to 1800 (30 minutes) in a future release of the app.

On the current last version of the app, this value is set to 1800, on a different file. I just increase it to 3600 to try.

grep -R TICK_TTL * lib/Service/ConfigService.php: const TICK_TTL = 'tick_ttl'; lib/Service/ConfigService.php: self::TICK_TTL => '3600' lib/Service/RunningService.php: $ttl = (int) $this->configService->getAppValue(ConfigService::TICK_TTL);

fillg1 commented 1 year ago

Increasing the timeout is not a real solution, why does the index process not just process to the next file after the timeout?

ferdiga commented 2 months ago

I just got "Force Quit" and want to report some reasons

'Development Support, April 2018 '$'\342\200\224'' Common Code.pdf'

occ sharing:cleanup-remote-storages difficult to find .... without hint - name of the share

1 remote storage(s) need(s) to be checked 1 remote share(s) exist

it would be definitely very helpful