You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "John McClain (JIRA)" <ji...@apache.org> on 2007/07/27 21:17:53 UTC

[jira] Created: (RIVER-128) Go from two to one syncs when committing Outrigger's log records

Go from two to one syncs when committing Outrigger's log records
----------------------------------------------------------------

                 Key: RIVER-128
                 URL: https://issues.apache.org/jira/browse/RIVER-128
             Project: River
          Issue Type: Improvement
          Components: com_sun_jini_outrigger
    Affects Versions: jtsk_1.1
            Reporter: John McClain
            Priority: Minor


Bugtraq ID [5026757|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5026757]


Traditionally committing data to disk requires two syncs. The first to
force the data to disk, the second to force something to disk that at
log recovery time will let you know that the first sync
completed. What we could do instead is write the data with a
cryptographic hash and do one sync that covers both. If during log
recovery the hash of the recovered data does not match the recored
hash the record is rejected.

Based on various micro benchmarks the removal of one sync could save
%30-%40 the cost of non-transactional writes of reasonably sized
entries. Similar performance improvements should accrue to takes that
don't search through too many candidate entries (< 5000?), transaction
prepare and commit calls, and lease renewals and cancellations.

Comments :

We could implement this as a new LogStore implementation, or (for
simplicity) break compatibly with the previous version.

A configuration that does no-syncs could be interesting and should be
considered.

Before we sink a lot of effort into improving our store, may want to
get a read on how fast a JDBC based implementation can be.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.