mff-uk / odcs

ODCleanStore
1 stars 11 forks source link

Native repository is used when it should not be used? #1281

Closed tomas-knap closed 10 years ago

tomas-knap commented 10 years ago

On ODCS, I am running on top of virtuoso intermediate store (NO native rep). But when looking at execution 935, in browse/query tab, there is virtuoso graph and I can browse the data on virtuoso. So it is fine so far. But when looking to the log, I got:

screen shot 2014-03-03 at 10 08 10 am

Based on that, it seems that native store is initialized and used as well (together with Virtuoso), which is wrong. Can you please explain, @tomesj ?

tomesj commented 10 years ago

Problém nebude v mixování implementací, ale v tom, že autor, který psal DPU XSLT někde používá sám ve svém kódu lokální repozitář (např. pro nějaké mezivýpočty) a nevolá metodu (tuším getRepository), která sedí výše ve frontendu/backendu, která vrací repozitář na základě configurace - tedy Virtuoso nebo LocalRDF.

Nevím, kdo je autorem, ale v této věci bych se určitě obrátil na něj.

tomas-knap commented 10 years ago

Jirko, xslt jsem psal ja a nevim o tom, ze bych nekde pouzival natvrdo native repository. Resp. toho by ani autor DPU nemel mit moznost docilit, ne?

tomas-knap commented 10 years ago

Koukni prosim na XSLT kod ( je v repozitari https://github.com/mff-uk/DPUs), koukni na hlavni tridu a projdi prosim volani RDF data unit metod, je jich tam par. Jestli neuvidis neco podezreleho. Tech volani je tam par

tomesj commented 10 years ago

Podívám se na to, jen co se vrátím z práce ke svému počítači :-)

tomesj commented 10 years ago

Tak důvod odhalen

Tím je to objasněné :-)

tomas-knap commented 10 years ago

Jirko, a jak to tam tedy funguje, inicializuje se native store a pak se jen otestuje dotaz? Neda se to udela bez inicializace?

2014-03-03 17:09 GMT+01:00 Jiří Tomeš notifications@github.com:

Tak důvod odhalen

  • metoda OrderTupleQueryResultImpl executeOrderSelectQueryAsTuples totiž testuje, zda je daný dotaz validní - volá metodu isValid() - a ta ve své implementaci používá LocalRDF, která slouží jako pomocná repozitory pro tuto validaci.

Tím je to objasněné :-)

Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1281#issuecomment-36525305 .

tomas-knap commented 10 years ago

Resp. nedala by se na toto pouzit nejaka jedna native rep pripravena pro celou jednu instanci ODCS? Aneb je trochu neefektivni pokazde delat novou native store jen proto, aby se zkontroloval query

tomesj commented 10 years ago

Bohužel validace vyžaduje vytvoření dočasného repozitáře, ten se po provedení validace opět smaže. Takže na disku nic nezůstane. Vytvoření a mazání je rychlé a nestojí prakticky nic.

Držet jednu instanci bychom asi mohli, ale nic bychom neušetřili.

Naopak by přibyly zbytečné problémy se jak správně sdílet repozitář ve chvíli, když mi např. 2 různá vlákna volají validaci, protože validace na zamknutém repozitáři způsobuje exception. Byl by s tím celkem problém to správně odladit podobně jako to bylo u sdílené connection.

Já bych se do toho asi nepouštěl, nic navíc tím nezískáme ani neušetříme, spíš se může stát, že to, co teď funguje správně, tak s tím budou problémy.

Co myslíš ?

tomas-knap commented 10 years ago

Takhle, urcite by stalo za to delat max jeden repozitar pro execution jedne DPU instance. Ale nechme to pro ted.

2014-03-03 23:31 GMT+01:00 Jiří Tomeš notifications@github.com:

Bohužel validace vyžaduje vytvoření dočasného repozitáře, ten se po provedení validace opět smaže. Takže na disku nic nezůstane. Vytvoření a mazání je rychlé a nestojí prakticky nic.

Držet jednu instanci bychom asi mohli, ale nic bychom neušetřili.

Naopak by přibyly zbytečné problémy se jak správně sdílet repozitář ve chvíli, když mi např. 2 různá vlákna volají validaci, protože validace na zamknutém repozitáři způsobuje exception. Byl by s tím celkem problém to správně odladit podobně jako to bylo u sdílené connection.

Já bych se do toho asi nepouštěl, nic navíc tím nezískáme ani neušetříme, spíš se může stát, že to, co teď funguje správně, tak s tím budou problémy.

Co myslíš ?

Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1281#issuecomment-36569038 .

tomas-knap commented 10 years ago

Summary: For validating queries, local rdf store (native rep) is used