ceskaexpedice / kramerius

System Kramerius
GNU General Public License v3.0
45 stars 26 forks source link

Solr schema version obsahuje neplatnou hodnotu (release 7.0.29) #1004

Closed rzeh4n closed 1 year ago

rzeh4n commented 1 year ago

Součástí releasu 7.0.29 jsou aktualizovaná schémata pro Solr jádra. V některých případech se změnila hodnota schema/@version na hodnotu, která není číslo, protože obsahuje dvě desetiné tečky. Z <schema name="processing-schema" version="18"> na <schema name="processing-schema" version="7.0.28"> Čímž padá inicializace solr jádra, jelikož se tam očekává (float) číslo.

Jednat to nefunguje. Ale taky je ta změna číslování nekonzistentní (číslo se změnilo pro 2 indexy a jen pro solr7-8, ne pro solr9 a solr9-cloud).

@pavel-stastny Nevím, jaký byl přesně záměr, tak do toho nebudu hrabat, spíš navrhnu, co s tím. Viděl bych tam 2 cesty:

  1. verzovat to podle čísla releasu

    • ale konvergovat na číslo
    • tj. zde třeba nějak takhle 7.0.29 -> 7.000229 (fixní počet číslic pro minor a patch čísla verze)
  2. verzovat to podle skutečných změn, jak se to už děje pro jádro "search"

    • poslední verze 18: https://github.com/ceskaexpedice/kramerius/wiki/Vyhled%C3%A1vac%C3%AD-index
    • při změně schématu v kódu, případně logiky (potenciálně bez změny schématu) se aktualizuje: Indexer.VERSION, dokumentace na wiki, a nově schema/@version pro jádro search
    • pro jádra logs, processing a sdnnt-sync stejný princip (ne nutně wiki atd.), ale s vlastním číselnou řadou pro každé jádro
pavel-stastny commented 1 year ago

@rzeh4n Ta čísla verzí schématu se měnila u všech jader. Původně tam byly různé verze 1.4, 1.6 a 1.8 bez jakékoliv logiky. Chtěl jsem to sjednotit dle nějakého klíče. Původní záměr byl číslo verze releasu, který se později změnil na verzi indexeru (18). Změna doputovala do všech jader solru 9 a solr 9 cloud. U dvou jader solr7-8 bohužel zůstal tento mezistav.

pavel-stastny commented 1 year ago

Do schémat dopropagována verze 18. Předpokládám, že o verzích jednotlivých schémat bude ještě diskuze.