virtuoso-opensource icon indicating copy to clipboard operation
virtuoso-opensource copied to clipboard

Database freeze when running UPDATE+DELETE SPARQL query

Open Tomas2D opened this issue 2 years ago • 4 comments

I am currently running fresh new build from from develop/7 branch, commit c1e8113

When I insert following triples

INSERT { GRAPH <http://example.com/graph/sell> {
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> a <http://example.com/vocabulary/estate> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://purl.org/dc/terms/identifier> "759e1314-5541-4491-9ecb-119b414283c5" .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images>                 <https://example.com/d_18/c_img_gR_i/56VKPr.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gY_k/2xuJQT.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gW_j/BZNIdj.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gX_j/heXIic.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gW_j/pnbIdk.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gS_k/ckJKaO.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gQ_k/fcVKaE.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gS_k/PPbKaQ.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gV_l/vkIIrH.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gR_i/T8bKPt.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gX_j/fzAIid.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gS_k/ndTKaR.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gQ_k/dcCKaF.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gQ_k/RhzKaG.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gZ_l/AJVJSe.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gT_l/MRxKaY.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gR_i/8HPKPv.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gS_k/BIFKaS.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gU_j/qWfKOp.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gX_j/CYhIif.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gQ_k/etuKaH.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> <https://example.com/d_18/c_img_gZ_l/QLCJSf.jpeg?fl%3Dres%2C1920%2C1080%2C1%7Cwrm%2C%2Fwatermark%2Fsreality.png%2C10%7Cshr%2C%2C20%7Cjpg%2C90> .
} } 

Triples are inserted successfully as expected. But when I run DELETE + UPDATE query - the query execution will never ends and completely freeze database.

DELETE { GRAPH <http://example.com/graph/sell> { 
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> a <http://example.com/vocabulary/estate> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://purl.org/dc/terms/identifier> ?a0 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a1 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a2 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a3 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a4 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a5 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a6 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a7 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a8 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a9 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a10 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a11 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a12 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a13 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a14 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a15 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a16 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a17 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a18 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a19 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a20 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a21 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a22 .
} }
WHERE { GRAPH <http://example.com/graph/sell> {
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://purl.org/dc/terms/identifier> ?a0 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a1 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a2 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a3 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a4 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a5 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a6 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a7 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a8 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a9 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a10 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a11 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a12 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a13 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a14 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a15 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a16 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a17 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a18 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a19 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a20 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a21 .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://example.com/vocabulary/images> ?a22 .
} }

From the last query I have omitted the INSERT to show the minimal example query.

Tomas2D avatar Mar 27 '22 20:03 Tomas2D

We are looking into this issue ...

HughWilliams avatar Mar 28 '22 12:03 HughWilliams

It is a crucial part of my application. I will be also glad for some workaround meanwhile.

Tomas2D avatar Mar 28 '22 18:03 Tomas2D

@Tomas2D You could fix delete part of your application to delete all referenced triples with just one triple pattern, no need of the redundant overhead of same pattern :

DELETE { GRAPH <http://example.com/graph/sell> { 
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> a <http://example.com/vocabulary/estate> .
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://purl.org/dc/terms/identifier> ?a0 .
} }
WHERE { GRAPH <http://example.com/graph/sell> {
<http://example.com/entity/estate/759e1314-5541-4491-9ecb-119b414283c5> <http://purl.org/dc/terms/identifier> ?a0 .
} }

HTH

imitko avatar Mar 28 '22 18:03 imitko

I see the point now. I did not count with multiple values being associated with one property, which leads to generating such an uneficient query mentioned earlier.

I updated my application code to make just one triple pattern, as you suggested. But I think that it is still worth investigating why the original query never completes.

Thank you!

Tomas2D avatar Mar 28 '22 22:03 Tomas2D