Disable or configure the transaction time limit


(Hieu Nguyen) #1

Hi,

Is there a way to disable, or at least to configure the transaction time limit (currently 5 seconds) or FoundationDB?

Thanks,


(gaurav) #2

I do not think it is doable with current storage engine (there maybe some internal knobs to tinker around - but that would not be recommended). With redwood storage engine, that is currently under development, these limits may change.


(Alex Miller) #3

With redwood, the limits would potentially change for read-only transactions, but read-write transactions would still be at 5 seconds.

This isn’t something configurable. It just is a 5 second limit, and you’ll need to adapt to and work with the limit.

You’re welcome to post your use-case if you’d like any help or advice on how to best adapt it to FoundationDB.


(Hieu Nguyen) #4

I have an implementation of FoundationDB for JanusGraph. I run the Gremlin test suite with it. However, many test cases fail because they usually perform a lot of operations in their transactions and then got aborted because of the transaction limit of 5 seconds.

One way is to hook to the Gremlin tests and split each large transaction into smaller ones but it takes a lot of time and error prone. Since these tests mostly check on functionality, I am wondering whether the transaction time limit can be set longer so that the tests can pass without any modifications to Gremlin tests.


(Alex Miller) #5

Are you using experoinc/janusgraph-foundationdb, or your own implementation? Isolation levels seems to allow and briefly explain the breaking of operations in JanusGraph into multiple FDB transactions if they exceed 5s.

@twilmes might have some advice?


(Hieu Nguyen) #6

Yes, that is the one I am using.

Yes, I can change the isolation level to run the tests. However, in my application, finally I will run with serializable mode. I am not so confident if the tests are run with a different isolation mode than the one I run in real deployment.


(Ted Wilmes) #7

Hi @ntrhieu89. I understand your concern, but unfortunately, there won’t be a way to test at serializable with the TinkerPop suite, nor the JG test suite, without rewriting/updating the particular tests that exceed the 5s/data size limitations.