~nwilliams/akiban-persistit/fix_912514_fetchAndRemove_2

« back to all changes in this revision

Viewing changes to core/src/main/java/com/persistit/Exchange.java

  • Committer: build-akiban
  • Date: 2012-05-15 21:24:26 UTC
  • mfrom: (292.3.38 fix_959456)
  • Revision ID: build-akiban-20120515212426-6lp526nql1wu790g
merge pbeaman: This branch fixes several problems related to https://bugs.launchpad.net/akiban-persistit/+bug/959456 Journal copier falls behind in 4-hour Persistit TPCC test.

https://code.launchpad.net/~pbeaman/akiban-persistit/fix_959456/+merge/105529

Show diffs side-by-side

added added

removed removed

Lines of Context:
1587
1587
                        if (!keyExisted) {
1588
1588
                            _tree.bumpChangeCount();
1589
1589
                        }
 
1590
                        assert buffer.isDirty() : "Buffer must be dirty";
1590
1591
                        committed = true;
1591
1592
                        if (incrementMVVCount) {
1592
1593
                            _transaction.getTransactionStatus().incrementMvvCount();
3650
3651
                buffer.release();
3651
3652
            }
3652
3653
        }
3653
 
 
3654
3654
    }
3655
3655
 
3656
3656
    boolean pruneLeftEdgeValue(final long page) throws PersistitException {
3658
3658
        Buffer buffer = null;
3659
3659
        try {
3660
3660
            buffer = _pool.get(_volume, page, false, true);
 
3661
            buffer.clearEnqueuedForPruning();
3661
3662
            long at = buffer.at(Buffer.KEY_BLOCK_START);
3662
3663
            if (at > 0) {
3663
3664
                int offset = (int) (at >>> 32);