# Number of replicas automatically reset to 1

**URL:** <https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905>\
**Category:** Discussions en français\
**Created:** [April 28, 2018, 7:32am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905 "2018-04-28T07:32:25Z")\
**Posts on this page:** 17\
**Page:** 2

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 2, 2018, 1:15pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/22 "2018-05-02T13:15:53Z")

</div>

Est-ce que quelqu'un qui utilise PHP devant Elasticsearch pourrait m'aiguiller sur le debug de mon script ? Comme le précise dadonnet :

> Ca veut dire que tu détruis l'index à chaque run et que tu le reconstruis.

Mais impossible de comprendre comment j'arrive à ce résultat ...

D'avance merci 😉

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 2, 2018, 5:02pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/23 "2018-05-02T17:02:15Z")

</div>

Cette ligne ?

```
$response = $this->elastic->indices()->delete($params);
```

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 3, 2018, 11:36am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/24 "2018-05-03T11:36:35Z")

</div>

Je l'ai commentée pour essayer. A la base, le but était qu'à chaque initialisation, on repart à zéro et on reconstruis tout. Toujours pas d'affichage cependant.  
Voilà où j'utilise les fonctions citées precedemment :

```
public function elasticAddAction(){
        $annonces = $this->annonceTable->fetchAnnoncesPropose();

        $i = 0;

        $this->searchService->init();
        foreach($annonces as $annonce){
            $city = $this->villeTable->getVille($annonce->id_ville);
            $coordinates = $this->searchService->get_coordinates($annonce->adresse.', '.$annonce->nom_ville,$city->cp);

            if($coordinates !== false){
                $this->searchService->reset_conn();

                $url_provider = $this->urlProvider;
                $url = $url_provider(null, $annonce->id_membre, $annonce, false, true, null, '#form-search-global');

                $result = $this->searchService->add_annonce($annonce, $coordinates['lat'],$coordinates['long'], $url);

                var_dump($result);

                //break;
                //break;
                if($i==15){
                    //break;
                }
                $i++;
            }
            else{
                var_dump($annonces);
                var_dump(urlencode($annonce->adresse.' '.$annonce->nom_ville));
            }
            sleep(1.5);
        }

        echo 'FIn ajout';

    }

```

Par ailleurs j'ajoute l'erreur obtenue la plus récente :

```
The application has thrown an exception!
======================================================================
Elasticsearch\Common\Exceptions\Missing404Exception
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"fsA12HldQsGUgxEBjA--Wg","index":"coloc"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"fsA12HldQsGUgxEBjA--Wg","index":"coloc"},"status":404}
```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 3, 2018, 5:16pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/25 "2018-05-03T17:16:27Z")

</div>

> A la base, le but était qu'à chaque initialisation, on repart à zéro et on reconstruis tout.

Ben alors c'est bon. Pourquoi penses-tu que le fait de changer d'ID d'index est un problème ?

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 4, 2018, 11:20am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/26 "2018-05-04T11:20:18Z")

</div>

Le problème c'est que si je lance mon script actuellement, j'obtiens l'erreur citée ci-dessus. Qui plus est, le fait de changer ID de l'index ne me dérange pas. C'est même ce que j'attends lorsque je lance mon script. Ce qui me dérange, c'est que l'ID change même pendant l'execution de mon script. Il n'est censé changer l'ID qu'une seule fois lorsque je lance mon script. Je ne récupère aucune données.... Le script ne fait que créer l'index, le détruire, le créer, le détruire etc.... Il ne fait jamais passer mes données dessus...

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 4, 2018, 12:48pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/27 "2018-05-04T12:48:16Z")

</div>

> Le script ne fait que créer l'index, le détruire, le créer, le détruire

C'est très confus pour moi ce que tu fais ou ce que tu veux faire.  
Pourrais-tu exprimer cela avec un script qu'on peut exécuter dans la console Kibana.

Un exemple complet dans ce message: [About the Elasticsearch category](https://discuss.elastic.co/t/about-the-elasticsearch-category/21)

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 7, 2018, 11:58am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/28 "2018-05-07T11:58:52Z")

</div>

Alors, je vais faire ce que tu m'as précédemment demandé mais avant je te mets ici la sortie que j'ai eu sans avoir lancer mon script.

```
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open coloc t0xzoUuyTSyJ83Dezne8zw 5 1 0 0 1.1kb 1.1kb
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open coloc _hztDe_9TAeGLDvd8KBK5w 5 1 0 0 1.1kb 1.1kb
[root@stock /]#

```

Entre la première commande et la deuxième, j'ai laissé passé 15min et l'UUID de l'index coloc a changé... Seul, sans intervention quelconque....

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 7, 2018, 12:12pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/29 "2018-05-07T12:12:11Z")

</div>

Il y a obligatoirement un bout de code qui tourne quelque part et qui détruit l'index et le créé à nouveau.

Essaye de faire ceci:

```auto
DELETE coloc
PUT coloc
PUT coloc/_doc/1
{ "foo":"bar" }
GET _cat/indices?v

```

Attends 15 minutes puis:

```auto
GET _cat/indices?v

```

Et poste le résultat de chaque requête ici.

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 7, 2018, 1:29pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/30 "2018-05-07T13:29:45Z")

</div>

Je n'arrive même pas à ajouter le doc. J'ai pourtant désactivé mon script. J'ai fait ces tests directement sur le serveur.

```
[root@stock /]# curl -XPUT localhost:9200/coloc/_doc/1
{"error":{"root_cause":[{"type":"parse_exception","reason":"request body is required"}],"type":"parse_exception","reason":"request body is required"},"status":400}[root@stock /]#

```

Voilà tout de même le \_cat. On voit bien qu'il y a suppression de l'indice et création à nouveau. Malgré que le fait que j'ai viré mon script et que RIEN n'utilise ElasticSearch pour le moment.

```
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open coloc bj3zgV8iR9CXSLyCy8xMMg 5 1 0 0 1.1kb 1.1kb
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open coloc KDyqY-pxSr29VVYVmPnajQ 5 1 0 0 1.1kb 1.1kb
[root@stock /]#
```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 7, 2018, 2:24pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/31 "2018-05-07T14:24:58Z")

</div>

J'ai modifié mon script. Il manquait quelque chose.

En tout cas, elasticsearch n'efface jamais des index utilisateur tout seul.  
Je n'ai toujours pas une vision claire de ce que tu fais exactement. Comment tu lances le script, elasticsearch...?

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 7, 2018, 2:28pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/32 "2018-05-07T14:28:28Z")

</div>

C'est une tâche automatisée. Tous les jours à minuit, le script PHP détruit l'index 'coloc', le recréé et le remplit avec les données provenant d'une BDD mySQL. Le nouvel index 'coloc' est donc utilisé dans la journée et mis à jour tous les soirs à minuit. A la fin du processus (une fois que l'index contient tous mes documents) le script s'arrête et attend minuit pour recommencer.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 7, 2018, 2:59pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/33 "2018-05-07T14:59:33Z")

</div>

Donc ton script DETRUIT bien l'index, non ?

Je suis perdu honnêtement dans ce thread. Je ne sais même plus ce qu'on essaye de résoudre.

Peux-tu résumer rapidement quel est le problème ?

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 7, 2018, 3:55pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/34 "2018-05-07T15:55:51Z")

</div>

Oui on s'y perd un peu 😉  
Petit résumé. J'utilise ElasticSearch pour passer en revue ma base de données mySql et stocker certaines données sur l'index 'coloc' d'eslasticsearch. Pour cela, un script passe tous les jours à minuit pour mettre à jour ElasticSearch puis se termine (en environ 30min).  
Un petit résumé rapide par fonction de mon script php :

```
creationDuClient()
{
Je construis ici simplement le client
} 

initialisation()
{
Je vérifie si l'index 'coloc' existe. 
Si oui, je le détruis et le recréé avec le bon mapping.
Si non, je le créé tout simplement avec le bon mapping. 
}

ajoutDesDonnées()
{
Ici, je récupère les infos contenues dans ma bdd MySql et je les ajoute à mon index 'coloc' elasticsearch.
}

```

Je rappelle que le script ne s'execute qu'une fois par jour.

Le problème : même quand le script ne tourne pas, l'index 'coloc' sur ElasticSearch passe son temps à être détruit puis reconstruit etc..etc...

Tous les processus liés à mon script sont 'kill', l'index 'coloc' devrait donc simplement rester dans son état actuel sans rien changer.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 7, 2018, 3:57pm UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/35 "2018-05-07T15:57:09Z")

</div>

> Le problème : même quand le script ne tourne pas, l'index 'coloc' sur Elasticsearch passe son temps à être détruit puis reconstruit etc..etc...

Cela n'est pas possible. Il y a obligatoirement quelque chose qui tourne, qui efface éventuellement le répertoire data...

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 9, 2018, 8:41am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/36 "2018-05-09T08:41:47Z")

</div>

Hello!  
Enfin, j'ai trouvé pourquoi l'index se détruisait et recréait continuellement. J'avais une vieille instance ElasticSearch version 5 planquée sur le serveur.  
Résultat, je récupère maintenant tous mes docs sans problèmes et l'UUID ne change plus

```
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open coloc VuR8e4baQFa7ngKynboJeA 5 1 1553 0 2.1mb 2.1mb
[root@stock /]# curl localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open coloc VuR8e4baQFa7ngKynboJeA 5 1 1649 0 2.7mb 2.7mb
[root@stock /]#

```

C'est encore en train de récupérer les documents et je n'ai pas encore testé si j'avais mon affichage derrière, je vous tiendrai au courant.

---

<div class="post-metadata">

**Author:** ![Antoine\_Garrido](https://avatars.discourse-cdn.com/v4/letter/a/7c8e57/32.png) [@Antoine\_Garrido](https://discuss.elastic.co/u/Antoine_Garrido)\
**Post date:** [May 9, 2018, 10:40am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/37 "2018-05-09T10:40:07Z")

</div>

Tout fonctionne. Ce fut long et douloureux mais je te remercie pour ton aide et les pistes que tu m'as apportées. dadoonnet.

Au plaisir de revenir poser des questions tordues sur le forum 😉

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [June 6, 2018, 10:52am UTC](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905/38 "2018-06-06T10:52:42Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.

[Previous page](https://discuss.elastic.co/t/number-of-replicas-automatically-reset-to-1/129905.md?page=1)
