-
Type: Bug
-
Status: Resolved
-
Priority: Minor
-
Resolution: Won't Fix
-
Affects Version/s: 10.10
-
Fix Version/s: None
-
Component/s: Elasticsearch
-
Tags:
The failsafe retry policy applied at rest call in ESRestClient might not work as expected in Nuxeo 10.10 (lts 2021 2023 are ok).
Timeouts throw IOException instead of SocketTimeoutException an timeout parameter is not taken in account (60s vs 120s requestedÃ
An example of such trace in 10.10
2023-05-11T13:12:05,285 ERROR [AbstractWork] Exception during work: IndexingWorker(a81733e7-8777-46b4-b8d1-e36b1a1f18e6, , Progress(?%, ?/0), null) org.nuxeo.ecm.core.api.NuxeoException: java.io.IOException: listener timeout after waiting for [60000] ms at org.nuxeo.elasticsearch.client.ESRestClient.doIndex(ESRestClient.java:438) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.client.ESRestClient.lambda$index$5(ESRestClient.java:415) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at net.jodah.failsafe.Functions$10.call(Functions.java:252) ~[failsafe-1.1.0.jar:1.1.0] at net.jodah.failsafe.SyncFailsafe.call(SyncFailsafe.java:145) ~[failsafe-1.1.0.jar:1.1.0] at net.jodah.failsafe.SyncFailsafe.run(SyncFailsafe.java:81) ~[failsafe-1.1.0.jar:1.1.0] at org.nuxeo.elasticsearch.client.ESRestClient.index(ESRestClient.java:415) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.core.ElasticSearchIndexingImpl.processIndexRequest(ElasticSearchIndexingImpl.java:318) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.core.ElasticSearchIndexingImpl.processIndexCommand(ElasticSearchIndexingImpl.java:304) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.core.ElasticSearchIndexingImpl.indexNonRecursive(ElasticSearchIndexingImpl.java:280) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.core.ElasticSearchIndexingImpl.indexNonRecursive(ElasticSearchIndexingImpl.java:140) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.ElasticSearchComponent.indexNonRecursive(ElasticSearchComponent.java:428) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.work.IndexingWorker.doIndexingWork(IndexingWorker.java:76) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.work.AbstractIndexingWorker.doWork(AbstractIndexingWorker.java:61) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.work.BaseIndexingWorker.work(BaseIndexingWorker.java:48) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:493) ~[nuxeo-core-event-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:383) ~[nuxeo-core-event-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.elasticsearch.ElasticSearchComponent.lambda$runIndexingSyncWorker$1(ElasticSearchComponent.java:499) ~[nuxeo-elasticsearch-core-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.lambda$runWithoutTransaction$1(TransactionHelper.java:578) ~[nuxeo-runtime-jtajca-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.runAndCleanupTransactionContext(TransactionHelper.java:721) ~[nuxeo-runtime-jtajca-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.lambda$runWithoutTransaction$2(TransactionHelper.java:590) ~[nuxeo-runtime-jtajca-10.10-HF69-SNAPSHOT.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.lambda$runWithoutTransactionInternal$6(TransactionHelper.java:698) ~[nuxeo-runtime-jtajca-10.10-HF69-SNAPSHOT.jar:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_272] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_272] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_272] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272] Caused by: java.io.IOException: listener timeout after waiting for [60000] ms at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:905) ~[elasticsearch-rest-client-6.5.3.jar:6.5.3] at org.elasticsearch.client.RestClient.performRequest(RestClient.java:229) ~[elasticsearch-rest-client-6.5.3.jar:6.5.3]