Hello!
I ask you to help me to understand and fix my problem
My test enviroment is:
- three zero node (–replicas=3)
- six alpha nodes (–lru_mb=8196)
I’m using golang driver to data loading.
I’ve tried to load 100000 nodes by the following rules:
- set Msisdn, Imsi, Imei values
- create uidGetMsisdnImsiImei query by replace corresponding strings
- create mutationAddMsisdnImsiImei mutation by replace corresponding strings
- create upsert with query from point 2 and mutation from point 3
- open transaction
- execute upsert
- commit the transaction
But after that i didn’t get 100000 msisdn nodes, 100000 imsi nodes and 100000 imei nodes. There were just 1754 nodes of each type. I’ve deleted all data and tried to load data again. There were just 3454 nodes of each type.
I’ve done test several times and every time i’ve got different results. I don’t understand why.
You can see schema, queries and mutations below
Here is my schema:
type msisdn {
msisdn: string
linkedToImsi: [imsi]
linkedToImei: [imei]
}
type imsi {
imsi: string
linkedToMsisdn: [msisdn]
linkedToImei: [imei]
}
type imei {
imei: string
linkedToMsisdn: [msisdn]
linkedToImsi: [imsi]
}
msisdn: string @index(term, trigram) .
imsi: string @index(term, trigram) .
imei: string @index(term, trigram) .
linkedToMsisdn: [uid] .
linkedToImsi: [uid] .
linkedToImei: [uid] .
Queries for upserts:
uidGetMsisdnImsiImei = `
query {
msisdnSearch(func: eq(msisdn, "%MSISDN%")) {
uidMsisdn as uid
}
imsiSearch(func: eq(imsi, "%IMSI%")) {
uidImsi as uid
}
imeiSearch(func: eq(imei, "%IMEI%")) {
uidImei as uid
}
}
`
uidGetMsisdnImsi = `
query {
msisdnSearch(func: eq(msisdn, "%MSISDN%")) {
uidMsisdn as uid
}
imsiSearch(func: eq(imsi, "%IMSI%")) {
uidImsi as uid
}
}
`
uidGetMsisdnImei = `
query {
msisdnSearch(func: eq(msisdn, "%MSISDN%")) {
uidMsisdn as uid
}
imeiSearch(func: eq(imei, "%IMEI%")) {
uidImei as uid
}
}
`
uidGetImsiImei = `
query {
imsiSearch(func: eq(imsi, "%IMSI%")) {
uidImsi as uid
}
imeiSearch(func: eq(imei, "%IMEI%")) {
uidImei as uid
}
}
`
Mutations for upserts:
mutationAddMsisdnImsiImei = `
uid(uidMsisdn) <msisdn> "%MSISDN%" .
uid(uidMsisdn) <linkedToImsi> uid(uidImsi) (lastseen=%TIMESTAMP%) .
uid(uidMsisdn) <linkedToImei> uid(uidImei) (lastseen=%TIMESTAMP%) .
uid(uidMsisdn) <dgraph.type> "msisdn" .
uid(uidImsi) <imsi> "%IMSI%" .
uid(uidImsi) <linkedToMsisdn> uid(uidMsisdn) (lastseen=%TIMESTAMP%) .
uid(uidImsi) <linkedToImei> uid(uidImei) (lastseen=%TIMESTAMP%) .
uid(uidImsi) <dgraph.type> "imsi" .
uid(uidImei) <imei> "%IMEI%" .
uid(uidImei) <linkedToMsisdn> uid(uidMsisdn) (lastseen=%TIMESTAMP%) .
uid(uidImei) <linkedToImsi> uid(uidImsi) (lastseen=%TIMESTAMP%) .
uid(uidImei) <dgraph.type> "imei" .
`
mutationAddMsisdnImsi = `
uid(uidMsisdn) <msisdn> "%MSISDN%" .
uid(uidMsisdn) <linkedToImsi> uid(uidImsi) (lastseen=%TIMESTAMP%) .
uid(uidMsisdn) <dgraph.type> "msisdn" .
uid(uidImsi) <imsi> "%IMSI%" .
uid(uidImsi) <linkedToMsisdn> uid(uidMsisdn) (lastseen=%TIMESTAMP%) .
uid(uidImsi) <dgraph.type> "imsi" .
`
mutationAddMsisdnImei = `
uid(uidMsisdn) <msisdn> "%MSISDN%" .
uid(uidMsisdn) <linkedToImei> uid(uidImei) (lastseen=%TIMESTAMP%) .
uid(uidMsisdn) <dgraph.type> "msisdn" .
uid(uidImei) <imei> "%IMEI%" .
uid(uidImei) <linkedToMsisdn> uid(uidMsisdn) (lastseen=%TIMESTAMP%) .
uid(uidImei) <dgraph.type> "imei" .
`
mutationAddImsiImei = `
uid(uidImsi) <imsi> "%IMSI%" .
uid(uidImsi) <linkedToImei> uid(uidImei) (lastseen=%TIMESTAMP%) .
uid(uidImsi) <dgraph.type> "imsi" .
uid(uidImei) <imei> "%IMEI%" .
uid(uidImei) <linkedToImsi> uid(uidImsi) (lastseen=%TIMESTAMP%) .
uid(uidImei) <dgraph.type> "imei" .
`