Résultats d'une requête très aléatoire

Bonjour à tous.
Dans une application web j'ai un script qui requeête 1 fois par jour un index afin de remonter la quantité de données enregistré la veille. Cet index dispose d'un champ DateUpdate qui enregistre la date et heure à laquelle l'enregistrement arrive dans l'index.
Mon problème est le suivant :
En lançant (via cron) mon script à 1h00 du matin j'ai des chiffres qu ne correspodent pas à la réalité de l'index ( vérification sur kibana).
En revanche en lançant le même script à 12h00 ou 13h00 les chiffres sont exacts.
Je sais c'est trés étrange.
Mais si vous avez une idée ....
Ci-dessous le code de ma requête (vraiment basique en plus)

GET /data_errors/_search
{
    "size": 0, 
    "query": {
    "bool": {
      "must": [
        {
          "match_all": {}
        }
      ],
                      "filter": {
                    "bool": {
                        "must": {
                            "range": {
                                "DateUpdate": {
                                    "gte": "2022-03-22T00:00:01.000",
                                    "lte": "2022-03-22T23:59:59.000"
                                }
                            }
                        }
                    }
                }
    }
    }
}

Merci d'avance pour vos commentaires
-->

Peux-tu partager un exemple de résultat incohérent ?
Quel est le mapping pour le champ DateUpdate?

Bonjour David.

Voici le mapping du champ DateUpdate :

"DateUpdate": {
          "type": "date"
        },

Un exemple de résultats incohérents est pour la date du 25 mars.
lorsque la requête est lancée le 26 mars à 12h00 le résulat est : 385
la même requete lancée aujourd'hui à 16h00 me retourne : 384
l'ecart n'est pas enorme pour ce cas mais il est souvent beaucoup plus important (plusieurs dizaine d'écart).

Merci d'avance.
Laurent

Tu veux dire exactement la même requête avec les exactes mêmes valeurs ?

La seule fois où j'ai vu ce type d'écart c'est quand le shard primaire a des données différentes du shard replica. Mais c'était il y a 10 ans et à cause d'un split brain.

Peux-tu partager le résultat de ces commandes ?

GET /
GET /_cat/nodes?v
GET /_cat/health?v
GET /_cat/indices/data_errors?v
GET /_cat/shards/data_errors?v

Si trop gros pour ici, utilise gist.github.com et partage le lien ici.

Tu as vérifié que les dates étaient bien alignées entre celle dans ES et celle du contexte du script ?
On a déjà eu des problèmes de ce genre à cause de UTC ou UTC+1 mal gérés, notamment lors du passage à l'heure d'été.

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