Hi Andrei, In my testing environment. I have two logical nodes on the same phisical node: xdb.nodecount=2 xdb.node.1.dbhost=127.0.0.1 xdb.node.2.dbhost=127.0.0.1 ####1 xdb.use_load_for_step=false ; NOT using XDBAgents Stado -> select * from a,b; +---------------+ | x | y | x | y | +---------------+ | 1 | 1 | 1 | 3 | | 1 | 2 | 1 | 3 | | 1 | 1 | 1 | 4 | | 1 | 2 | 1 | 4 | +---------------+ 4 row(s). Stado -> update sf_commercerecord set status=integraltype Stado -> where exists ( Stado -> select * from sf_wofcust201205 Stado -> where Stado -> sf_commercerecord.mobileno=sf_wofcust201205.mobileno Stado -> and sf_commercerecord.feecode=sf_wofcust201205.feecode Stado -> ); SQLException: ERROR: UNEXPECTED_MESSAGE_RECIEVED (GOT, EXPECTED) :(1 , 41 ) In PostgreSQL's log, there is error like: "ERROR: portal "C_49" does not exist" ####2 xdb.use_load_for_step=true; NOT using XDBAgents Stado -> select * from a,b; +---------------+ | x | y | x | y | +---------------+ | 1 | 1 | 1 | 3 | | 1 | 2 | 1 | 3 | | 1 | 1 | 1 | 4 | | 1 | 2 | 1 | 4 | +---------------+ 4 row(s). Stado -> update sf_commercerecord set status=integraltype Stado -> where exists ( Stado -> select * from sf_wofcust201205 Stado -> where Stado -> sf_commercerecord.mobileno=sf_wofcust201205.mobileno Stado -> and sf_commercerecord.feecode=sf_wofcust201205.feecode Stado -> ); SQLException: ERROR: UNEXPECTED_MESSAGE_RECIEVED (GOT, EXPECTED) :(1 , 41 ) If Using XDBAgents, I have below configuration: # config with different ports, otherwise agent init failed xdb.node.1.port=6455 xdb.node.1.host=172.17.0.14 xdb.node.2.port=6456 xdb.node.2.host=172.17.0.14 # coordinator and agents are on the same server, but starts separately xdb.coordinator.host=172.17.0.14 xdb.coordinator.port=6454 xdb.connector.0.1=1 xdb.connector.1.0=1 xdb.connector.0.2=1 xdb.connector.2.0=1 ## starts the agents ./gs-server.sh -a ./gs-agent.sh -n 1 2 ####3 xdb.use_load_for_step=true; Using XDBAgents: Stado -> select * from a,b; +---------------+ | x | y | x | y | +---------------+ | 1 | 1 | 1 | 3 | | 1 | 2 | 1 | 3 | | 1 | 1 | 1 | 4 | | 1 | 2 | 1 | 4 | +---------------+ 4 row(s). Stado -> update sf_commercerecord set status=integraltype Stado -> where exists ( Stado -> select * from sf_wofcust201205 Stado -> where Stado -> sf_commercerecord.mobileno=sf_wofcust201205.mobileno Stado -> and sf_commercerecord.feecode=sf_wofcust201205.feecode Stado -> ); SQLException: ERROR: UNEXPECTED_MESSAGE_RECIEVED (GOT, EXPECTED) :(1 , 41 ) ####4 xdb.use_load_for_step=false; Using XDBAgents: Stado -> select * from a,b; SQLException: ERROR: Node 1 has aborted execution, cause is: org.postgresql.stado.exception.XDBServerException : Insert Failed : Stado -> select * from a,b; SQLException: ERROR: Node 1 has aborted execution, cause is: org.postgresql.stado.exception.XDBServerException : Insert Failed : Stado -> select * from a,b; +---------------+ | x | y | x | y | +---------------+ | 1 | 1 | 1 | 3 | | 1 | 2 | 1 | 3 | | 1 | 1 | 1 | 4 | | 1 | 2 | 1 | 4 | +---------------+ 4 row(s). Stado -> select * from a,b; SQLException: ERROR: Node 1 has aborted execution, cause is: org.postgresql.stado.exception.XDBServerException : Insert Failed : Stado -> select * from a,b; SQLException: ERROR: Node 1 has aborted execution, cause is: org.postgresql.stado.exception.XDBServerException : Insert Failed : Stado -> select * from a,b; +---------------+ | x | y | x | y | +---------------+ | 1 | 1 | 1 | 3 | | 1 | 2 | 1 | 3 | | 1 | 1 | 1 | 4 | | 1 | 2 | 1 | 4 | +---------------+ 4 row(s). Stado -> select * from a,b; SQLException: ERROR: Node 1 has aborted execution, cause is: org.postgresql.stado.exception.XDBServerException : Insert Failed : It seems to be unstable, and gets ERROR most of the time.