/** * Stores value in off-heap. * * @param val Value. * @param expireTime Expire time. * @param ver New entry version. * @param predicate Optional predicate. * @return {@code True} if storage was modified. * @throws IgniteCheckedException If update failed. */ protected boolean storeValue( @Nullable CacheObject val, long expireTime, GridCacheVersion ver, @Nullable IgnitePredicate<CacheDataRow> predicate) throws IgniteCheckedException { assert lock.isHeldByCurrentThread(); UpdateClosure closure = new UpdateClosure(this, val, ver, expireTime, predicate); cctx.offheap().invoke(cctx, key, localPartition(), closure); return closure.treeOp != IgniteTree.OperationType.NOOP; }
/** * Stores value in off-heap. * * @param val Value. * @param expireTime Expire time. * @param ver New entry version. * @param predicate Optional predicate. * @return {@code True} if storage was modified. * @throws IgniteCheckedException If update failed. */ protected boolean storeValue( @Nullable CacheObject val, long expireTime, GridCacheVersion ver, @Nullable IgnitePredicate<CacheDataRow> predicate) throws IgniteCheckedException { assert lock.isHeldByCurrentThread(); UpdateClosure closure = new UpdateClosure(this, val, ver, expireTime, predicate); cctx.offheap().invoke(cctx, key, localPartition(), closure); return closure.treeOp != IgniteTree.OperationType.NOOP; }