示例#1
0
  /** {@inheritDoc} */
  @Override
  protected void updateExplicitVersion(IgniteTxEntry txEntry, GridCacheEntryEx entry)
      throws GridCacheEntryRemovedException {
    if (entry.detached()) {
      GridCacheMvccCandidate cand = cctx.mvcc().explicitLock(threadId(), entry.txKey());

      if (cand != null && !xidVersion().equals(cand.version())) {
        GridCacheVersion candVer = cand.version();

        txEntry.explicitVersion(candVer);

        if (candVer.isLess(minVer)) minVer = candVer;
      }
    } else super.updateExplicitVersion(txEntry, entry);
  }
示例#2
0
  /** {@inheritDoc} */
  @Override
  public void close() throws IgniteCheckedException {
    super.close();

    if (accessMap != null) {
      assert optimistic();

      for (Map.Entry<IgniteTxKey, IgniteCacheExpiryPolicy> e : accessMap.entrySet()) {
        if (e.getValue().entries() != null) {
          GridCacheContext cctx0 = cctx.cacheContext(e.getKey().cacheId());

          if (cctx0.isNear()) cctx0.near().dht().sendTtlUpdateRequest(e.getValue());
          else cctx0.dht().sendTtlUpdateRequest(e.getValue());
        }
      }

      accessMap = null;
    }
  }