Hello!
I have two queries that I expect should return the same results, but they do not. The first starts with the products query and includes warehouse_products as a subtree:
query ($cursor: String) {
products {
request_id
complexity
data(after: $cursor, first: 100) {
pageInfo {
hasPreviousPage
hasNextPage
endCursor
}
edges {
cursor
node {
sku
name
barcode
warehouse_products {
sku
on_hand
allocated
available
active
}
}
}
}
}
}
The second query flips this around and starts with the warehouse_products query and includes the product as a subtree:
query ($cursor: String) {
warehouse_products {
request_id
complexity
data(after: $cursor, first: 100) {
pageInfo {
hasPreviousPage
hasNextPage
endCursor
}
edges {
cursor
node {
sku
on_hand
allocated
available
active
updated_at
product {
sku
name
barcode
updated_at
}
}
}
}
}
}
When I paginate the first query until hasNextPage comes back false, I wind up with a total of 13869 unique SKUs, which is correct. There are no duplicated SKUs in the result set. An example request_id from one page is 687677a99e66f25509719c14
.
When I paginate the second query the same way, I wind up with a variable set of SKUs. So far I have gotten back unique SKU counts of 10487, 12726, 11486, and 12015. Within each full set of paginated data, there is a different count of SKUs that are duplicated. For example, request_ids 687691a6814ebbabfea5c02f
and 687691a8457ad945cf6e3ef9
were run during the same round and have at least 1 SKU duplicated between them.
We only have 1 warehouse, so it’s not that we’re getting data from multiple warehouses. I have also verified that the warehouse_id is identical through all of the records.
I found other threads (one, two) that mention something similar about receiving different results from products vs warehouse_products, but they’re trying to filter the results using updated_from or updated_to. I’m not using any filter criteria as I’m just trying to get one big snapshot of everything. But I did try versions of the queries that include the updated_at field at both levels to see if there is a difference, and both dates for a given record are the same.
Something about this seems timing based, but I can’t figure out what’s going on. Any help in figuring this out would really be appreciated!
Thanks,
Jeremy