RedisGraph / RedisGraph

A graph database as a Redis module
https://redis.io/docs/stack/graph/
Other
2k stars 229 forks source link

Crash encountered with more than one node in the graph #3193

Open ljhhuxiaoba opened 1 year ago

ljhhuxiaoba commented 1 year ago

I execute a query on my RedisGraph and get a crash.

Redis version:7.2.0 RedisGraph version: v2.12.9 operating system: windows 10 API:Cypher version 9 query:CREATE (c0) DELETE c0 WITH * MATCH (),() RETURN 1 error message:"Reached the max retries per request limit (which is 1). Refer to "maxRetriesPerRequest" option for details."

To reproduce: CREATE (),(); CREATE (c0) DELETE c0 WITH * MATCH (),() RETURN 1;

It's worth noting that the database works fine when there is only one node in the graph, but crashes when there are two nodes in the graph.

Actual behavior: The query failed and the redisgraph container exited abnormally with the error message.

swilly22 commented 1 year ago

Hi @ljhhuxiaoba, thank you for reporting. I'm working on a fix, this actually reveled an issue within our cartesian product operation.

ljhhuxiaoba commented 11 months ago

May I ask a question that what is the current LOC of RedisGraph?

swilly22 commented 11 months ago

Hi @ljhhuxiaoba, I'm not sure what LOC stands for.

ljhhuxiaoba commented 11 months ago

LOC is an abbreviation for Lines Of Code.

swilly22 commented 11 months ago

I see. That depends, would you consider dependencies as well, or would you like to include testing code lines? If you just focus on C sources then then:

Running following within FalkorDB src directory :

find . -name '*.c' | xargs wc -l
find . -name '*.h' | xargs wc -l

Yields 79008 C lines and 16319 header lines, giving a total of 95,327 lines.

ljhhuxiaoba commented 11 months ago

Thanks a lot.