Uploaded image for project: 'Jahia Community'
  1. Jahia Community
  2. JAHIA-1312

Nouvel nav des engines: invalidations ESI lors de la navigation + add new et back puis cancel rajoute un nouveau container vide

Details

    • Bug
    • Resolution: Done
    • Major
    • WCM 5.0
    • WCM 5.0
    • None
    • 15075 - 326

    Description

      Il faut vraiment que l'on trouve un moyen de ne sauver les containers que lorsqu'un changement a été réellement réalisé afin d'envoyer le moins d'invalidation ESI possible. Sans partage de skeletons activé, l'impact de toute invalidation est très conséquente sur le load ESI.

      Sinon, sur une page double, je rajoute un second main_content sur ma page. Il m'ouvre l'engine add new. Là je fais un retour sur le premier élément puis un cancel. Je n'ai donc rien rajouté. J'ai pourtant quand même un nouveau container vide dans ma liste que je dois aller effacer.

      Exemple de temps (en gros 140ms, je fais un next dans ma ctnlist sur un main_content, ESI s'arrête complètement pendant plusieurs secondes)

      2006-09-08 14:07:06,265 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/95 [pid=95 siteId=3 mode=normal user
      =HORABONA] served in [140ms]
      2006-09-08 14:07:06,312 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/114 [pid=114 siteId=3 mode=normal us
      er=HPERON] served in [125ms]
      2006-09-08 14:07:06,453 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/112 [pid=112 siteId=3 mode=normal us
      er=HBAYONA] served in [78ms]
      2006-09-08 14:07:06,640 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/119 [pid=119 siteId=3 mode=normal us
      er=HBELADJELET] served in [78ms]
      2006-09-08 14:07:06,890 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/101 [pid=101 siteId=3 mode=normal us
      er=GLECAMUS] served in [78ms]
      2006-09-08 14:07:07,125 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/116 [pid=116 siteId=3 mode=normal us
      er=HNIQUET] served in [16ms]
      2006-09-08 14:07:10,265 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/113 [pid=113 siteId=3 mode=normal us
      er=HBERREBY] served in [15ms]
      2006-09-08 14:07:10,734 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/64 [pid=64 siteId=3 mode=normal user
      =HPARIZOT] served in [31ms]
      2006-09-08 14:07:10,765 INFO Invalidator.processInvalidationObjects - [4] objects invalidated.
      2006-09-08 14:07:10,765 INFO ProxyFilter.doFilter - Client request POST[http://localhost:8081/jahia/Jahia/engineName/addcontainer/site/demo/op/edit/pid/61?cl
      istid=340&cdefid=122&cpid=61&cparentid=0] [pid=61 siteId=3 mode=edit user=AGIRAUD] served in [3703ms]
      2006-09-08 14:07:11,703 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/63 [pid=63 siteId=3 mode=normal user
      =GLAUBIN] served in [32ms]
      2006-09-08 14:07:12,281 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/72 [pid=72 siteId=3 mode=normal user
      =HNIQUET] served in [0ms]
      2006-09-08 14:07:15,687 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/118 [pid=118 siteId=3 mode=normal us
      er=GLAURENTI] served in [8437ms]
      2006-09-08 14:07:16,078 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/60 [pid=60 siteId=3 mode=normal user
      =HPODEVIN] served in [8688ms]
      2006-09-08 14:07:16,281 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/75 [pid=75 siteId=3 mode=normal user
      =GLAUBIN] served in [1125ms]
      2006-09-08 14:07:16,296 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/67 [pid=67 siteId=3 mode=normal user
      =HORABONA] served in [1140ms]
      2006-09-08 14:07:17,328 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/69 [pid=69 siteId=3 mode=normal user
      =HBAYONA] served in [985ms]
      2006-09-08 14:07:17,640 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/74 [pid=74 siteId=3 mode=normal user
      =HPARIZOT] served in [984ms]
      2006-09-08 14:07:17,687 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/68 [pid=68 siteId=3 mode=normal user
      =HPERON] served in [1000ms]
      2006-09-08 14:07:18,046 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/111 [pid=111 siteId=3 mode=normal us
      er=HBENZIDOUR] served in [10531ms]
      2006-09-08 14:07:18,515 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/117 [pid=117 siteId=3 mode=normal us
      er=HBENAZZOUZ] served in [10515ms]
      2006-09-08 14:07:18,812 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/77 [pid=77 siteId=3 mode=normal user
      =GLAURENTI] served in [937ms]
      2006-09-08 14:07:19,078 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/115 [pid=115 siteId=3 mode=normal us
      er=HPELLEGRINI] served in [10969ms]
      2006-09-08 14:07:19,343 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/76 [pid=76 siteId=3 mode=normal user
      =HNIQUET] served in [953ms]
      2006-09-08 14:07:19,781 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/79 [pid=79 siteId=3 mode=normal user
      =GLAUBIN] served in [594ms]
      2006-09-08 14:07:21,062 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/62 [pid=62 siteId=3 mode=normal user
      =HPOCCHIOLA] served in [10859ms]
      2006-09-08 14:07:21,109 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/120 [pid=120 siteId=3 mode=normal us
      er=HNEMER] served in [9891ms]
      2006-09-08 14:07:21,171 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/70 [pid=70 siteId=3 mode=normal user
      =HBELADJELET] served in [9921ms]
      2006-09-08 14:07:22,281 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/66 [pid=66 siteId=3 mode=normal user
      =GLOBERMAYER] served in [11766ms]
      2006-09-08 14:07:22,328 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/108 [pid=108 siteId=3 mode=normal us
      er=HPEPE] served in [14188ms]
      2006-09-08 14:07:22,609 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/71 [pid=71 siteId=3 mode=normal user
      =GLECAMUS] served in [9047ms]
      2006-09-08 14:07:22,640 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/65 [pid=65 siteId=3 mode=normal user
      =HOREGGIA] served in [8750ms]
      2006-09-08 14:07:22,656 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/84 [pid=84 siteId=3 mode=normal user
      =HBENZIDOUR] served in [500ms]
      2006-09-08 14:07:22,687 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/86 [pid=86 siteId=3 mode=normal user
      =GLAURENTI] served in [719ms]
      2006-09-08 14:07:22,734 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/73 [pid=73 siteId=3 mode=normal user
      =HBERREBY] served in [8266ms]
      2006-09-08 14:07:22,859 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/61 [pid=61 siteId=3 mode=normal user
      =GLOGOS] served in [9531ms]
      2006-09-08 14:07:23,078 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/78 [pid=78 siteId=3 mode=normal user
      =HPODEVIN] served in [94ms]
      2006-09-08 14:07:23,406 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/82 [pid=82 siteId=3 mode=normal user
      =HPARIZOT] served in [78ms]
      2006-09-08 14:07:23,843 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/80 [pid=80 siteId=3 mode=normal user
      =HORABONA] served in [93ms]
      2006-09-08 14:07:23,875 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/85 [pid=85 siteId=3 mode=normal user
      =HBENAZZOUZ] served in [110ms]
      2006-09-08 14:07:24,078 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/100 [pid=100 siteId=3 mode=normal us
      er=GLOGOS] served in [78ms]
      2006-09-08 14:07:24,296 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/87 [pid=87 siteId=3 mode=normal user
      =HPELLEGRINI] served in [93ms]
      2006-09-08 14:07:25,078 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/83 [pid=83 siteId=3 mode=normal user
      =HPERON] served in [94ms]
      2006-09-08 14:07:25,296 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/88 [pid=88 siteId=3 mode=normal user
      =HNIQUET] served in [78ms]
      2006-09-08 14:07:26,015 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/98 [pid=98 siteId=3 mode=normal user
      =GLAURENTI] served in [15ms]
      2006-09-08 14:07:26,062 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/81 [pid=81 siteId=3 mode=normal user
      =HBAYONA] served in [16ms]
      2006-09-08 14:07:26,453 INFO ProxyFilter.doFilter - Client request GEThttp://10.8.37.46:8081/jahia/Jahia/site/demo/pid/104 [pid=104 siteId=3 mode=normal us
      er=HBENAZZOUZ] served in [0ms]

      TestRail: Results

        Attachments

          Activity

            [JAHIA-1312] Nouvel nav des engines: invalidations ESI lors de la navigation + add new et back puis cancel rajoute un nouveau container vide

            Je peux me pencher sur la question, mais j'ai quand même un peti truc qui me chicane.

            Si le user se trompe d'engine, il fait add à la place d'update, pkoi ne peut-il pas faire un cancel et ré-ouvrir l'engine en cliquant sur le bon bouton ??? S'il sait que chaque click dans la navigation va sauver ses données (ce qu'on m'a dit de faire), c'est juste un comportement à adopter.
            Si on commence à vouloir corriger les faux-mouvements des users, on complique les choses (pour rien), car c'est pas compliqué de faire un cancel, puis un update. De plus, il sait que s'il clique sur autre chose que cancel, le container sera sauvé, car la taille de la liste dans l'engine contient déjà le conteneur en cours d'ajoût.

            xlawrence Xavier Lawrence (Inactive) added a comment - Je peux me pencher sur la question, mais j'ai quand même un peti truc qui me chicane. Si le user se trompe d'engine, il fait add à la place d'update, pkoi ne peut-il pas faire un cancel et ré-ouvrir l'engine en cliquant sur le bon bouton ??? S'il sait que chaque click dans la navigation va sauver ses données (ce qu'on m'a dit de faire), c'est juste un comportement à adopter. Si on commence à vouloir corriger les faux-mouvements des users, on complique les choses (pour rien), car c'est pas compliqué de faire un cancel, puis un update. De plus, il sait que s'il clique sur autre chose que cancel, le container sera sauvé, car la taille de la liste dans l'engine contient déjà le conteneur en cours d'ajoût.

            Pour le (2) ce n'est pas à l'utilisateur (et je me répète) de savoir que les metada sot initialisé ou je ne sais quel problèmatique back-end... Lui tout ce qu'il constatem, c'est que Jahia lui créé des containers vides en raffalle dès qu'il fait des back...

            Donc on peut très bien partir du principe que si aucun champ dans "Data" n'est initialisé, les "metadata" sont caduques. Maintenant évidemment s'il y a des default values pour certains champs dans Data, c'est foutu... Mais au moins ça devrait régler temporairement 80% des cas de ctnlist (sans valeur par défaut pour certains champs..).

            scroisier Stephane Croisier (Inactive) added a comment - Pour le (2) ce n'est pas à l'utilisateur (et je me répète) de savoir que les metada sot initialisé ou je ne sais quel problèmatique back-end... Lui tout ce qu'il constatem, c'est que Jahia lui créé des containers vides en raffalle dès qu'il fait des back... Donc on peut très bien partir du principe que si aucun champ dans "Data" n'est initialisé, les "metadata" sont caduques. Maintenant évidemment s'il y a des default values pour certains champs dans Data, c'est foutu... Mais au moins ça devrait régler temporairement 80% des cas de ctnlist (sans valeur par défaut pour certains champs..).

            1) les invalidations envoyés quand je fais des next/previous/new et que je ne change/n'initialise rien:

            Résolu

            2) si je fais un add new puis un back, il me créé quand même un container vide au lieu de faire un cancel... Donc ensuite je suis obligé d'aller faire des delete à la main:

            A mon avis, pas possible de résoudre, à cause des metadata. Les dates de création ne seront pas nulles au moment de l'appel à l'engine et il n'y a pas vraiment de moyen de détecter que le user s'est trompé en se basant sur la valeurs des fields. On ne peut pas différencier un champ date de type métadonnée, d'un champ date faisant partie des données. La seule façon de faire, et de faire un cancel dans l'engine addContainer et de ré-ouvrir l'engine avec updateContainer, dans le cas où on s'est trompé. C'est pour cela que le bouton cancel existe...

            xlawrence Xavier Lawrence (Inactive) added a comment - 1) les invalidations envoyés quand je fais des next/previous/new et que je ne change/n'initialise rien: Résolu 2) si je fais un add new puis un back, il me créé quand même un container vide au lieu de faire un cancel... Donc ensuite je suis obligé d'aller faire des delete à la main: A mon avis, pas possible de résoudre, à cause des metadata. Les dates de création ne seront pas nulles au moment de l'appel à l'engine et il n'y a pas vraiment de moyen de détecter que le user s'est trompé en se basant sur la valeurs des fields. On ne peut pas différencier un champ date de type métadonnée, d'un champ date faisant partie des données. La seule façon de faire, et de faire un cancel dans l'engine addContainer et de ré-ouvrir l'engine avec updateContainer, dans le cas où on s'est trompé. C'est pour cela que le bouton cancel existe...

            Si je fait un Jamon pendant l'invalidation, il me fait 15 hits sur mon double.jsp (pas de sharig de skeleton) qui ont surtout l'air de faire 15 hits sur findDisplayableJahiaObjectDelegate. C'est quoi cette méthode? Elle a un syncrhonize dedans? Pourquoi prend-t'elletant de temps?

            scroisier Stephane Croisier (Inactive) added a comment - Si je fait un Jamon pendant l'invalidation, il me fait 15 hits sur mon double.jsp (pas de sharig de skeleton) qui ont surtout l'air de faire 15 hits sur findDisplayableJahiaObjectDelegate. C'est quoi cette méthode? Elle a un syncrhonize dedans? Pourquoi prend-t'elletant de temps?

            People

              xlawrence Xavier Lawrence (Inactive)
              scroisier Stephane Croisier (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                TestRail: Runs

                  TestRail: Cases

                    Packages

                      Version Package
                      WCM 5.0