Memgraph version
2.4.1 (mage)
Environment
docker on WSL2
Describe the bug
memgraph+neo4j-go-driver is stuck on sess.Close or res.Consume if cypher contains any path and does not have RETURN. neo4j works ok
To Reproduce
package main
import (
"context"
"fmt"
"time"
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
)
const url = "bolt://localhost:7687"
func query(driver neo4j.DriverWithContext, cypher string) error {
ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, 2*time.Second)
defer cancel()
sess := driver.NewSession(ctx, neo4j.SessionConfig{})
defer sess.Close(ctx) // stuck here is no res.Consume
res, err := sess.Run(ctx, cypher, nil)
if err != nil {
return err
}
for res.Next(ctx) {
fmt.Println(res.Record().Values...)
}
err = res.Err()
if err != nil {
return err
}
if res.IsOpen() {
fmt.Println("trying to consume")
_, err := res.Consume(ctx)
if err != nil {
return err
}
fmt.Println("ok")
}
return nil
}
func example() error {
driver, err := neo4j.NewDriverWithContext(url, neo4j.BasicAuth("", "", ""))
if err != nil {
return err
}
if err := query(driver, "RETURN 1+1"); err != nil {
return err
}
if err := query(driver, "MATCH ()-[r]->() SET r.test = 123 RETURN DISTINCT 1"); err != nil {
fmt.Println(err)
}
if err := query(driver, "MATCH ()-[r]->() SET r.test = 123"); err != nil {
fmt.Println(err)
}
if err := query(driver, "MATCH (r)-[]->() SET r.test = 123"); err != nil {
fmt.Println(err)
}
return nil
}
func main() {
if err := example(); err != nil {
panic(err)
}
}
Expected behavior
No timeout errors
Logs
2
1
trying to consume
ConnectivityError: Timeout while reading from connection [server-side timeout hint: -1ns, user-provided context deadline: 2022-11-15 16:09:01.720096798 +0300 MSK m=+2.011375250]: context deadline exceeded
trying to consume
ConnectivityError: Timeout while reading from connection [server-side timeout hint: -1ns, user-provided context deadline: 2022-11-15 16:09:03.722075187 +0300 MSK m=+4.013353634]: context deadline exceeded
Memgraph version
2.4.1 (mage)
Environment
docker on WSL2
Describe the bug
memgraph+neo4j-go-driver is stuck on
sess.Closeorres.Consumeif cypher contains any path and does not have RETURN. neo4j works okTo Reproduce
Expected behavior
No timeout errors
Logs