コード例 #1
0
ファイル: GridNearTxLocal.java プロジェクト: WinnieRzz/ignite
  /** @param maps Mappings. */
  void addEntryMapping(@Nullable Collection<GridDistributedTxMapping> maps) {
    if (!F.isEmpty(maps)) {
      for (GridDistributedTxMapping map : maps) {
        ClusterNode n = map.node();

        GridDistributedTxMapping m = mappings.get(n.id());

        if (m == null) {
          mappings.put(m = new GridDistributedTxMapping(n));

          m.near(map.near());

          if (map.explicitLock()) m.markExplicitLock();
        }

        for (IgniteTxEntry entry : map.entries()) m.add(entry);
      }

      if (log.isDebugEnabled())
        log.debug(
            "Added mappings to transaction [locId="
                + cctx.localNodeId()
                + ", mappings="
                + maps
                + ", tx="
                + this
                + ']');
    }
  }
コード例 #2
0
ファイル: GridNearTxLocal.java プロジェクト: WinnieRzz/ignite
  /**
   * Adds key mapping to dht mapping.
   *
   * @param key Key to add.
   * @param node Node this key mapped to.
   */
  public void addKeyMapping(IgniteTxKey key, ClusterNode node) {
    GridDistributedTxMapping m = mappings.get(node.id());

    if (m == null) mappings.put(m = new GridDistributedTxMapping(node));

    IgniteTxEntry txEntry = entry(key);

    assert txEntry != null;

    txEntry.nodeId(node.id());

    m.add(txEntry);

    if (log.isDebugEnabled())
      log.debug(
          "Added mappings to transaction [locId="
              + cctx.localNodeId()
              + ", key="
              + key
              + ", node="
              + node
              + ", tx="
              + this
              + ']');
  }
コード例 #3
0
ファイル: GridNearTxLocal.java プロジェクト: WinnieRzz/ignite
  /**
   * @param nodeId Node ID to mark with explicit lock.
   * @return {@code True} if mapping was found.
   */
  public boolean markExplicit(UUID nodeId) {
    explicitLock = true;

    GridDistributedTxMapping m = mappings.get(nodeId);

    if (m != null) {
      m.markExplicitLock();

      return true;
    }

    return false;
  }