neo4j-java-driver
neo4j-java-driver copied to clipboard
Incorrect paging results when sorting fields have the same value
The same record[node<10>] exists on the first page and the second page.
Neo4j Version: 4.4.10 Community
Neo4j Mode: Single instance
neo4j-java-driver: 4.4.9
Operating System: CentOS Linux release 7.4.1708
Steps to reproduce
MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN aun, out.createDate AS createRelationshipDate, in.isLike AS relationshipLike ORDER BY out.createDate DESC SKIP 0 LIMIT 21
MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN aun, out.createDate AS createRelationshipDate, in.isLike AS relationshipLike ORDER BY out.createDate DESC SKIP 21 LIMIT 21
But, the same Cypher is executed in the neo4j browser(version:4.4.10) and the correct result is obtained.
logs
[2022-08-23 11:36:23] [DEBUG] [org.springframework.data.neo4j.cypher:313] -- Executing:
MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN aun, out.createDate AS createRelationshipDate, in.isLike AS relationshipLike ORDER BY out.createDate DESC SKIP 0 LIMIT 21
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.pool.NettyChannelTracker:79] -- Channel [0x45dcd8f1] acquired from the pool. Local address: /172.18.177.112:54962, remote address: /47.106.116.X:7687
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: RUN "MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN aun, out.createDate AS createRelationshipDate, in.isLike AS relationshipLike ORDER BY out.createDate DESC SKIP 0 LIMIT 21" {pcdsl01="3f3f9641aa564ddcbf0173ba85b2fd32", pcdsl02="1", pcdsl03=TRUE, pcdsl04="1"} {bookmarks=["FB:kcwQDoiA67EhTSOjZHWR30xpMMkDuJA="]}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: PULL {n=1000}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {fields=["aun", "createRelationshipDate", "relationshipLike"], t_first=1}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<45>, 1661154901, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<9>, 1661154893, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<3>, 1661154891, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<19>, 1661154890, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<18>, 1661154889, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<14>, 1661154888, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<23>, 1661154885, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<41>, 1661145967, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<32>, 1661145966, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<1>, 1661145966, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<20>, 1661145965, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<36>, 1661145965, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<15>, 1661145964, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<35>, 1661145964, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<31>, 1661145964, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<8>, 1661145963, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<34>, 1661145963, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<24>, 1661145962, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<12>, 1661145962, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<2>, 1661145960, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<10>, 1661145959, NULL]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {bookmark="FB:kcwQDoiA67EhTSOjZHWR30xpMMkDuJA=", type="r", t_last=3, db="neo4j"}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: RESET
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.pool.NettyChannelTracker:79] -- Channel [0x45dcd8f1] released back to the pool
[2022-08-23 11:36:23] [DEBUG] [org.springframework.data.neo4j.cypher:313] -- Executing:
MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN count(aun)
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.pool.NettyChannelTracker:79] -- Channel [0x45dcd8f1] acquired from the pool. Local address: /172.18.177.112:54962, remote address: /47.106.116.X:7687
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: RUN "MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN count(aun)" {pcdsl01="3f3f9641aa564ddcbf0173ba85b2fd32", pcdsl02="1", pcdsl03=TRUE, pcdsl04="1"} {bookmarks=["FB:kcwQDoiA67EhTSOjZHWR30xpMMkDuJA="]}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: PULL {n=1000}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {fields=["count(aun)"], t_first=1}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [22]
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {bookmark="FB:kcwQDoiA67EhTSOjZHWR30xpMMkDuJA=", type="r", t_last=2, db="neo4j"}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: RESET
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {}
[2022-08-23 11:36:23] [DEBUG] [org.neo4j.driver.internal.async.pool.NettyChannelTracker:79] -- Channel [0x45dcd8f1] released back to the pool
[2022-08-23 11:38:17] [DEBUG] [org.springframework.data.neo4j.cypher:313] -- Executing:
MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN aun, out.createDate AS createRelationshipDate, in.isLike AS relationshipLike ORDER BY out.createDate DESC SKIP 21 LIMIT 21
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.pool.NettyChannelTracker:79] -- Channel [0x45dcd8f1] acquired from the pool. Local address: /172.18.177.112:54962, remote address: /47.106.116.X:7687
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: RUN "MATCH (myself:AppUserNode {id: $pcdsl01})-[out:LIKE {isLike: $pcdsl02}]->(aun:AppUserNode) WHERE aun.enabled = $pcdsl03 OPTIONAL MATCH (aun)-[in:LIKE {isLike: $pcdsl04}]->(myself) RETURN aun, out.createDate AS createRelationshipDate, in.isLike AS relationshipLike ORDER BY out.createDate DESC SKIP 21 LIMIT 21" {pcdsl01="3f3f9641aa564ddcbf0173ba85b2fd32", pcdsl02="1", pcdsl03=TRUE, pcdsl04="1"} {bookmarks=["FB:kcwQDoiA67EhTSOjZHWR30xpMMkDuJA="]}
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: PULL {n=1000}
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {fields=["aun", "createRelationshipDate", "relationshipLike"], t_first=2}
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: RECORD [node<10>, 1661145959, NULL]
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {bookmark="FB:kcwQDoiA67EhTSOjZHWR30xpMMkDuJA=", type="r", t_last=2, db="neo4j"}
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.outbound.OutboundMessageHandler:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] C: RESET
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher:79] -- [0x45dcd8f1][47.106.116.X:7687][bolt-242] S: SUCCESS {}
[2022-08-23 11:38:17] [DEBUG] [org.neo4j.driver.internal.async.pool.NettyChannelTracker:79] -- Channel [0x45dcd8f1] released back to the pool