So I have a multithreaded Java service which is reading events off a queue and writing the objects to a Tinkerpop graph instance. It can crank along for quite sometime, but will eventually die with an InterruptedException. I've tried adding a synchronize to my consume function which did seem to make it last a little longer, but it eventually died again with the same stack trace:
ingestion | 08:48:44.450 [partition-pump-1-7] WARN a.i.g.i.TinkerpopGraphDriver - Caught Tinkerpop error on submit. Trying one more time.
ingestion | java.lang.RuntimeException: java.lang.InterruptedException
ingestion | at org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:265)
ingestion | at org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:230)
ingestion | at ambientsecurity.identity.gremlin.impl.TinkerpopGraphDriver.consume(TinkerpopGraphDriver.java:79)
...
ingestion | Caused by: java.lang.InterruptedException: null
ingestion | at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:385)
ingestion | at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2005)
ingestion | at org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:261)
ingestion | ... 42 common frames omitted
Any thoughts?
Should note this code runs happily against Azure Cosmos, but I'm trying to get a local docker solution to work before I make Microsoft too rich.