Is it possible to make asynchronous stored procedure calls to VoltDB using the Python client

381 Views Asked by At

Is it possible to make asynchronous calls to a stored procedure in VoltDB (an insert in a custom Java Stored procedure) using the Python client?

It looks like it isn't supported but is there a way to not wait for the response, or will I have to move to the Java client for async support?

2

There are 2 best solutions below

3
On BEST ANSWER

The VoltDB python client does not support asynchronous calls. It may be possible to make calls from a multi-threaded python application, but we've never tested that, so I don't want to lead you into uncharted waters.

The java, C++, and Go clients support asynchronous calls.

If you're mainly trying to do fast inserts, you might leverage csvloader and you could probably execute csvloader from within a python application, but that's probably not what you're looking to do.

Disclosure: I work at VoltDB.

0
On

I hit this same issue building a Tornado process that is also a VoltDB client. Turned out it's quite easy to split VoltProcedure.call( ) into two funcs, the second to be invoked async by Tornado's ioloop when it detects a response on the socket. I also fixed a bug in writeDate( ). Take a look here: https://github.com/osullivj/voltdb-client-python