Package com.orientechnologies.orient.core.index.hashindex.local.cache

Examples of com.orientechnologies.orient.core.index.hashindex.local.cache.OCacheEntry.markDirty()


      final OCacheEntry cacheEntry = loadPageEntry(pageIndex, 0);
      cacheEntry.acquireExclusiveLock();
      try {
        final OHashIndexBucket<K, V> emptyBucket = new OHashIndexBucket<K, V>(MAX_LEVEL_DEPTH, cacheEntry, keySerializer,
            valueSerializer, keyTypes, getTrackMode());
        cacheEntry.markDirty();

        logPageChanges(emptyBucket, cacheEntry.getFileId(), cacheEntry.getPageIndex(), true);
      } finally {
        cacheEntry.releaseExclusiveLock();
        diskCache.release(cacheEntry);
View Full Code Here


        final long index = bucket.add(pageIndex, recordPosition);
        final OClusterPosition result = OClusterPositionFactory.INSTANCE.valueOf(index + cacheEntry.getPageIndex()
            * OClusterPositionMapBucket.MAX_ENTRIES);

        logPageChanges(bucket, fileId, cacheEntry.getPageIndex(), isNewPage);
        cacheEntry.markDirty();

        endAtomicOperation(false);
        return result;
      } catch (Throwable e) {
        endAtomicOperation(true);
View Full Code Here

        OClusterPositionMapBucket.PositionEntry positionEntry = bucket.remove(index);
        if (positionEntry == null)
          return null;

        cacheEntry.markDirty();

        logPageChanges(bucket, fileId, pageIndex, false);

        endAtomicOperation(false);
        return positionEntry;
View Full Code Here

          try {
            ODurablePage durablePage = new ODurablePage(cacheEntry, ODurablePage.TrackMode.NONE);
            durablePage.restoreChanges(updatePageRecord.getChanges());
            durablePage.setLsn(updatePageRecord.getLsn());

            cacheEntry.markDirty();
          } finally {
            cacheEntry.releaseExclusiveLock();
            expectedDiskCache.release(cacheEntry);
          }
        }
View Full Code Here

          removed = bucket.deleteEntry(positionIndex).value;
          sizeDiff--;

          mergeBucketsAfterDeletion(nodePath, bucket);
          cacheEntry.markDirty();
          logPageChanges(bucket, cacheEntry.getFileId(), cacheEntry.getPageIndex(), false);
        } finally {
          cacheEntry.releaseExclusiveLock();
          diskCache.release(cacheEntry);
        }
View Full Code Here

          removed = nullBucket.getValue();
          if (removed != null) {
            nullBucket.removeValue();
            sizeDiff--;
            cacheEntry.markDirty();

            logPageChanges(nullBucket, cacheEntry.getFileId(), cacheEntry.getPageIndex(), false);
          }
        } finally {
          cacheEntry.releaseExclusiveLock();
View Full Code Here

          for (OHashIndexBucket.Entry<K, V> entry : bucket)
            newBuddyBucket.addEntry(entry.hashCode, entry.key, entry.value);

          logPageChanges(newBuddyBucket, newBuddyCacheEntry.getFileId(), newBuddyCacheEntry.getPageIndex(), false);
        } finally {
          newBuddyCacheEntry.markDirty();
          newBuddyCacheEntry.releaseExclusiveLock();

          diskCache.release(newBuddyCacheEntry);
        }
View Full Code Here

        OSBTreeBucket<K, V> rootBucket = new OSBTreeBucket<K, V>(rootCacheEntry, true, keySerializer, keyTypes, valueSerializer,
            getTrackMode());
        rootBucket.setTreeSize(0);

        super.logPageChanges(rootBucket, fileId, ROOT_INDEX, true);
        rootCacheEntry.markDirty();
      } finally {
        rootCacheEntry.releaseExclusiveLock();
        diskCache.release(rootCacheEntry);
      }
View Full Code Here

          if (bucketSearchResult.itemIndex >= 0) {
            int updateResult = keyBucket.updateValue(bucketSearchResult.itemIndex, treeValue);

            if (updateResult == 1) {
              logPageChanges(keyBucket, fileId, keyBucketCacheEntry.getPageIndex(), false);
              keyBucketCacheEntry.markDirty();
            }

            if (updateResult >= 0) {
              keyBucketCacheEntry.releaseExclusiveLock();
              diskCache.release(keyBucketCacheEntry);
View Full Code Here

            keyBucket = new OSBTreeBucket<K, V>(keyBucketCacheEntry, keySerializer, keyTypes, valueSerializer, getTrackMode());
          }

          logPageChanges(keyBucket, fileId, bucketSearchResult.getLastPathItem(), false);

          keyBucketCacheEntry.markDirty();
          keyBucketCacheEntry.releaseExclusiveLock();
          diskCache.release(keyBucketCacheEntry);

          if (sizeDiff != 0)
            setSize(size() + sizeDiff);
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.