Hi everyone,
I'm currently working on a program that inserts a lot of rows into a partitioned table (~75K insertions per sec)
These stored procedures are invoked asynchronously using a custom callback class that I wrote.
What I'm trying to do is in the callback class if I see that a stored procedure invocation failed (inside the callback) I want it to retry invoking the same SP that failed for X amount of times. What I tried doing is pass the VoltDB client to the callback and if the client response status is different than SUCCESS invoke the same stored procedure X more times synchronously (in order to not create X more callbacks on each failing stored procedure). What happens when an asynchronous invocation occurs is that the callback starts retrying but fails when invoking the stored procedure synchronously with an IO exception saying: "Can't invoke a procedure synchronously from with the client callback thread without deadlocking the client library (which makes sense since it can wait for a timeout and block for quite a while)
And so my question is: if I want to attempt several retries (of the same SP) in the callback, whats the best way of doing that?
Thanks in advance
I'm currently working on a program that inserts a lot of rows into a partitioned table (~75K insertions per sec)
These stored procedures are invoked asynchronously using a custom callback class that I wrote.
What I'm trying to do is in the callback class if I see that a stored procedure invocation failed (inside the callback) I want it to retry invoking the same SP that failed for X amount of times. What I tried doing is pass the VoltDB client to the callback and if the client response status is different than SUCCESS invoke the same stored procedure X more times synchronously (in order to not create X more callbacks on each failing stored procedure). What happens when an asynchronous invocation occurs is that the callback starts retrying but fails when invoking the stored procedure synchronously with an IO exception saying: "Can't invoke a procedure synchronously from with the client callback thread without deadlocking the client library (which makes sense since it can wait for a timeout and block for quite a while)
And so my question is: if I want to attempt several retries (of the same SP) in the callback, whats the best way of doing that?
Thanks in advance
Comment