~pbeaman/akiban-persistit/dynamic-volumes

« back to all changes in this revision

Viewing changes to src/main/java/com/persistit/BufferPool.java

  • Committer: Peter Beaman
  • Date: 2013-03-14 14:36:37 UTC
  • mfrom: (374.37.13 stage)
  • Revision ID: pbeaman@akiban.com-20130314143637-3tn8o0gfb9adqzfg
Merge from trunk with changes for lock pruning fix

Show diffs side-by-side

added added

removed removed

Lines of Context:
659
659
            }
660
660
        }
661
661
        buffer.clearValid();
662
 
        if (buffer.isDirty()) {
663
 
            _dirtyPageCount.decrementAndGet();
664
 
            buffer.clearDirty();
665
 
        }
 
662
        buffer.clearDirty();
666
663
        buffer.setPageAddressAndVolume(0, null);
667
664
    }
668
665
 
792
789
                    // page will find it.
793
790
                    //
794
791
                    buffer.setValid();
795
 
                    if (vol.isTemporary()) {
 
792
                    if (vol.isTemporary() || vol.isLockVolume()) {
796
793
                        buffer.setTemporary();
797
794
                    } else {
798
795
                        buffer.clearTemporary();
1471
1468
                        }
1472
1469
                        Util.spinSleep();
1473
1470
                    }
1474
 
                    if (volume1 != null && !volume1.isTemporary()) {
 
1471
                    if (volume1 != null && !volume1.isTemporary() && !volume1.isLockVolume()) {
1475
1472
                        value.clear().setStreamMode(true);
1476
1473
                        value.put(volume1.getHandle());
1477
1474
                        value.put(page1);