cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Protocol breach detected in bolt session 'bolt-760'

tinqnit
Node Link

I am facing this particular set of exceptions after the program runs for a while. There is nothing logically wrong in the query, but after inserting a few hundred, this error pops up ,and there after all the queries continue to fail.

I am using the Haskell driver if that helps.

2021-02-11 09:29:30.283+0000 ERROR [o.n.b.r.DefaultBoltConnection] Protocol breach detected in bolt session 'bolt-760'. Message 'RUN  MERGE (a: protocol { name: {name}}) ON CREATE SET a.prop1= {prop1},a.prop2= {prop2} MERGE (b: block {
hash: {hash}}) ON CREATE SET b.height= {height}, b.timestamp= {timestamp}, b.day= {day }, b.month= {month}, b.year= {year}, b.hour= {hour}, b.absoluteHour= {absoluteHour}  MERGE (a)-[r:PRESENT_IN{bytes: {bytes}, fees: {fees}, tx_count:
{count}}]->(b) Map{fees -> Long(518), year -> Long(48), count -> Long(1), prop2 -> String("222e2e2e6120636f6d62696e6174696f6e206f66206f6e2d636861696e20616e64206f66662d636861696e207363616c696e6720776f726b732c20494620746865206d61726b65742
06973206672656520746f2063686f6f736520746865206d6f737420656666696369656e7420706174682e222c204a6f6e616c642046796f6f6b62616c6c20436f756c646e2774206167726565206d6f72652e"), prop1 -> String("8d02"), hour -> Long(424381), month -> Long(581),
bytes -> Long(142203), name -> String("8d02_222e2e2e6120636f6d62696e6174696f6e206f66206f6e2d636861696e20616e64206f66662d636861696e207363616c696e6720776f726b732c20494620746865206d61726b6574206973206672656520746f2063686f6f736520746865206d
6f737420656666696369656e7420706174682e222c204a6f6e616c642046796f6f6b62616c6c20436f756c646e2774206167726565206d6f72652e"), absoluteHour -> Long(13), day -> Long(17682), hash -> String(""0000000000000000012a49cc408d45561b7eac5c8cae470552c
1f18d7f05bfcc""), height -> Long(532615), timestamp -> Long(1527772000)}' cannot be handled by a session in the STREAMING state.

org.neo4j.bolt.runtime.BoltProtocolBreachFatality: Message 'RUN  MERGE (a: protocol { name: {name}}) ON CREATE SET a.prop1= {prop1},a.prop2= {prop2} MERGE (b: block { hash: {hash}}) ON CREATE SET b.height= {height}, b.timestamp= {timestamp}, b.day= {day }, b.month= {month}, b.year= {year}, b.hour= {hour}, b.absoluteHour= {absoluteHour}  MERGE (a)-[r:PRESENT_IN{bytes: {bytes}, fees: {fees}, tx_count: {count}}]->(b) Map{fees -> Long(518), year -> Long(48), count -> Long(1), prop2 -> String("222e2e2e6120636f6d62696e6174696f6e206f66206f6e2d636861696e20616e64206f66662d636861696e207363616c696e6720776f726b732c20494620746865206d61726b6574206973206672656520746f2063686f6f736520746865206d6f737420656666696369656e7420706174682e222c204a6f6e616c642046796f6f6b62616c6c20436f756c646e2774206167726565206d6f72652e"), prop1 -> String("8d02"), hour -> Long(424381), month -> Long(581), bytes -> Long(142203), name -> String("8d02_222e2e2e6120636f6d62696e6174696f6e206f66206f6e2d636861696e20616e64206f66662d636861696e207363616c696e6720776f726b732c20494620746865206d61726b6574206973206672656520746f2063686f6f736520746865206d6f737420656666696369656e7420706174682e222c204a6f6e616c642046796f6f6b62616c6c20436f756c646e2774206167726565206d6f72652e"), absoluteHour -> Long(13), day -> Long(17682), hash -> String(""0000000000000000012a49cc408d45561b7eac5c8cae470552c1f18d7f05bfcc""), height -> Long(532615), timestamp -> Long(1527772000)}' cannot be handled by a session in the STREAMING state.
        at org.neo4j.bolt.v1.runtime.BoltStateMachineV1.nextState(BoltStateMachineV1.java:149)
        at org.neo4j.bolt.v1.runtime.BoltStateMachineV1.process(BoltStateMachineV1.java:92)
        at org.neo4j.bolt.messaging.BoltRequestMessageReader.lambda$doRead$1(BoltRequestMessageReader.java:89)
        at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:191)
        at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:139)
        at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:171)
        at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$2(ExecutorBoltScheduler.java:154)
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Appreciate your help on this!

2 REPLIES 2

clem
Graph Steward

This may or may not be the problem, but this looks wrong:

The function should be toString() and you have four double quotes. I don't know if that would have caused the Protocol Breach (whatever that is.)

and should should be using toInteger().

See:

I also thought Neo4J maps (dictionaries) have the syntax like:

{key:"value"}
but maybe I'm looking at Haskell and not Neo4J? I'm not familiar with Haskell or the driver.

I had the same issue when training graphSage model as the data size is increasing. Loading to neo4j no problem. Training on fastRP no problem. Python BoltDriver

2021-11-19 23:30:01.536+0000 WARN  [o.n.k.i.c.VmPauseMonitorComponent] Detected VM stop-the-world pause: {pauseTime=171, gcTime=219, gcCount=1}
2021-11-19 23:35:05.902+0000 WARN  [o.n.k.i.c.VmPauseMonitorComponent] Detected VM stop-the-world pause: {pauseTime=230, gcTime=243, gcCount=1}
2021-11-19 23:37:32.149+0000 ERROR [o.n.b.r.DefaultBoltConnection] Protocol breach detected in bolt session 'bolt-1249'.
org.neo4j.bolt.runtime.BoltProtocolBreachFatality: Message 'PULL Map{qid -> Long(0), n -> Long(1000)}' cannot be handled by a session in the READY state.
    at org.neo4j.bolt.runtime.statemachine.impl.AbstractBoltStateMachine.nextState(AbstractBoltStateMachine.java:156) ~[neo4j-bolt-4.3.4.jar:4.3.4]
    at org.neo4j.bolt.runtime.statemachine.impl.AbstractBoltStateMachine.process(AbstractBoltStateMachine.java:99) ~[neo4j-bolt-4.3.4.jar:4.3.4]
    at org.neo4j.bolt.messaging.BoltRequestMessageReader.lambda$doRead$1(BoltRequestMessageReader.java:93) ~[neo4j-bolt-4.3.4.jar:4.3.4]