Thanks for the feedback.

�ystein Gr�vlen wrote:

<>Even if it is a bit late, here are some questions/commentsto this patch and the follow-up patch for the test program:

- I am not sure about the value of this mode compared to a mode with
relaxed durability, but guaranteed consistency. The large
performance improvements comes from not syncing transaction
commit. How much extra performance do you really get from not
doing one sync per checkpoint?

I think both the options
1) derby.system.durability=test 2)actual relaxed durability with consistency and recoverability are useful. I would probably use 1 for testing purposes and earlier responses to the list seemed to indicate #1 was good to support. I agree with you that #2 is a good and useful option to have and I think other databases support this option.

<>
- Unless I am missing something, it does not seem more difficult to
implement the alternative that guarantees consistency. Do you
have any plans to do that?

I have filed a jira issue (Derby-306). But I am tied up with other things at the moment so I dont have plans to do this right now.
<> - With respect to upgrade, does previous versions properly
initialize the spare byte in the log.ctrl file? Otherwise, one
could risk false detections on upgrade.

-- the spare byte (that I used in my initial patch) is initialized correctly in previous version., but in the final patch per review comments - the log control flags byte was used to store this flag and yes it is initialized in previous versions correctly. So I think there should not be any false detections on upgrade.

<>
- I am a bit sceptical to the value of having a test that tests that
this feature give a certain performance advantage. I have seen
that over time such tests often have false failures when run on
new platforms. I see that your latest patch addresses this.
However, should the performance of disk io increase beyond your
threshold, the test would not be able to detect any failures to
turn off syncing.I think that a performance regression test
would be better for this prupose.

Yes, you are right. The best way to detect issues with this case would be a performance regression test. This test was (is) tricky :) specially adding the timing part as a functional test.. But I think currently what the test does will atleast send off an alarm if the inserts take really long. I added lots of comments in the test and as well as when the test might fail with warnings about it being approximate times. But since we dont require any perf test to be run when submitting patches, I think maybe this test is probably ok for now .. I welcome any suggestions on this to make it better..

Thanks,
Sunitha.


Reply via email to