Neptune openCypher queries returning on wrong connection at high concurrency

0

I've spent the last few days attempting to debug a pretty surprising issue with our use of Neptune in our API servers. The symptom was, if we tried to execute the same query on two connections, but with different parameters, sometimes the connections would get the responses meant for the other connection.

We discovered this using a bolt client, with connection pooling. I stripped back our connection pooling, then worked all the way back to manually creating two separate connections and executing our queries. I set it up so each connection would only execute the same query over and over. Around 15% of the time, we still see this behavior.

Finally, to isolate against any errors in the bolt client, I implemented the same behavior using the HTTPS endpoint instead of bolt and I am still able to produce this behavior. It's hard to fathom this could be true, but I'm struggling to see how this isn't an issue with Neptune itself.

With bolt, I was doing something like:

reset
begin
run <query> <parameters>
pull
commit

With HTTP, I'm just simply doing:

POST https://host:port/openCypher
<http stuff>

query=<query>
parameters=<parameters>

With both of these implementations, with a concurrency of 2, I start seeing corrupt responses in as few as 10 requests. The query itself is small and only returns a few records.

What could I be doing wrong?

질문됨 일 년 전77회 조회
답변 없음

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠