Hi Anand I tried the solution by removing the trigram index but while upserting below mutation still getting aborted error. but this frequency is not constant, like 3 times out of 5 coming aborted.
routine 1 ( failed)
upsert{
query{
var(func: eq(product.swidtag,"ph02")) @filter(eq(type_name,"product")){
product as uid
}
var(func: eq(product.swidtag,"Smart Opt2")) @filter(eq(type_name,"product")){
child as uid
}
}
mutation {
set{
uid(product) <product.swidtag> "ph02" .
uid(product) <type_name> "product" .
uid(product) <dgraph.type> "Product" .
uid(product) <scopes> "m2" .
uid(child) <product.swidtag> "Smart Opt2" .
uid(child) <type_name> "product" .
uid(child) <dgraph.type> "Product" .
uid(child) <scopes> "m2" .
uid(child) <product.child> uid(product) .
}
}
}
==========
routine - 2 ( failed)
upsert{
query{
var(func: eq(product.swidtag,"ph03")) @filter(eq(type_name,"product")){
product as uid
}
var(func: eq(product.swidtag,"Smart Opt2")) @filter(eq(type_name,"product")){
child as uid
}
}
mutation {
set{
uid(product) <product.swidtag> "ph03" .
uid(product) <type_name> "product" .
uid(product) <dgraph.type> "Product" .
uid(product) <scopes> "m2" .
uid(child) <product.swidtag> "Smart Opt2" .
uid(child) <type_name> "product" .
uid(child) <dgraph.type> "Product" .
uid(child) <scopes> "m2" .
uid(child) <product.child> uid(product) .
}
}
}
==============
routine -3 ( failed)
upsert{
query{
var(func: eq(product.swidtag,"ph09")) @filter(eq(type_name,"product")){
product as uid
}
var(func: eq(product.swidtag,"Smart Opt2")) @filter(eq(type_name,"product")){
child as uid
}
}
mutation {
set{
uid(product) <product.swidtag> "ph09" .
uid(product) <type_name> "product" .
uid(product) <dgraph.type> "Product" .
uid(product) <scopes> "m2" .
uid(child) <product.swidtag> "Smart Opt2" .
uid(child) <type_name> "product" .
uid(child) <dgraph.type> "Product" .
uid(child) <scopes> "m2" .
uid(child) <product.child> uid(product) .
}
}
}
I have removed trigram, but still getting transaction aborted for these. In mutations I have added conditional upsert also via checking the length of the node then only mutate,[@if(eq(len(child),0)].
And sometimes it works fine but sometimes not. Here the child of a node is the same for all three products.