XF 2.0 Elasticsearch indexing error (queued): blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];

Recep Baltaş

Well-known member
Seeing this on my admin panel.


Code:
XFES\Elasticsearch\RequestException: Elasticsearch indexing error (queued): blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]; src/addons/XFES/Elasticsearch/Api.php:387

#0 src/addons/XFES/Elasticsearch/Api.php(312): XFES\Elasticsearch\Api->request('put', 'tp_xf2/xf/post-...', '{\n    "title": ...')
#1 src/addons/XFES/Elasticsearch/Api.php(330): XFES\Elasticsearch\Api->requestFromIndex('put', 'xf/post-3089761', Array)
#2 src/addons/XFES/Elasticsearch/Api.php(152): XFES\Elasticsearch\Api->requestById('put', 'post', 3089761, Array)
#3 src/addons/XFES/Search/Source/Elasticsearch.php(66): XFES\Elasticsearch\Api->index('post', 3089761, Array)
#4 src/XF/Search/Search.php(40): XFES\Search\Source\Elasticsearch->index(Object(XF\Search\IndexRecord))
#5 src/XF/Behavior/Indexable.php(46): XF\Search\Search->index('post', Object(Siropu\AdsManager\XF\Entity\Post), true)
#6 src/XF.php(244): XF\Behavior\Indexable->XF\Behavior\{closure}()
#7 src/XF/Mvc/Dispatcher.php(137): XF::triggerRunOnce(true)
#8 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(1894): XF\Mvc\Dispatcher->run()
#10 src/XF.php(328): XF\App->run()
#11 index.php(13): XF::runApp('XF\\Pub\\App')
#12 {main}

array(4) {
  ["url"] => string(26) "/sosyal/mesaj/3089761/edit"
  ["referrer"] => string(74) "https://www.technopat.net/sosyal/konu/oen-cikar-butonu-saga-alindi.548753/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(8) {
    ["message_html"] => string(38) "<p>Ben de diyorum bu buton nerede.</p>"
    ["_xfInlineEdit"] => string(1) "1"
    ["attachment_hash"] => string(32) "a56e25cba953151005b38ebe47d9aba4"
    ["attachment_hash_combined"] => string(87) "{"type":"post","context":{"post_id":3089761},"hash":"a56e25cba953151005b38ebe47d9aba4"}"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(49) "/sosyal/konu/oen-cikar-butonu-saga-alindi.548753/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
 

Recep Baltaş

Well-known member
The problem is caused by the server disk which had no storage space left. Solved by deleting Index.

Code:
curl -XDELETE 'localhost:9200/indexname?pretty'
 
Last edited:

Recep Baltaş

Well-known member
This problem occurs once in a while and I'm really fed up with SSH'ing into my server and deleting the old index. Isn't there a tool to do it from the frontend?
 

Recep Baltaş

Well-known member
OK, cool, it does the job but did not fix the ES becoming read only. Is there a log that shows me the ACTUAL reason why it is becoming read only?
 
Top