odps-sdk/odps-sdk-graph/src/main/java/com/aliyun/odps/graph/DefaultComputingVertexResolver.java [140:168]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  protected void removeEdges(I vertexId, Vertex<I, V, E, M> vertex,
                             VertexChanges<I, V, E, M> vertexChanges) throws IOException {
    if (hasEdgeRemovals(vertexChanges)) {
      if (vertex == null) {
        throw new IOException("ODPS-0730001: Remove edge from vertex(Id: '"
                              + vertexId + "') that does not exist");
      }
      if (!vertex.hasEdges()) {
        throw new IOException("ODPS-0730001: Remove edge from vertex(Id: '"
                              + vertexId + "') that does not has edges");
      }

      for (I removedDestVertex : vertexChanges.getRemovedEdgeList()) {
        boolean found = false;
        List<Edge<I, E>> edgeList = vertex.getEdges();
        for (Iterator<Edge<I, E>> edges = edgeList.iterator(); edges.hasNext(); ) {
          Edge<I, E> edge = edges.next();
          if (edge.getDestVertexId().equals(removedDestVertex)) {
            edges.remove();
            found = true;
          }
        }
        if (!found) {
          throw new IOException("ODPS-0730001:Remove edge(DestVertexId: '"
                                + removedDestVertex + "') that does not exist for " + vertex);
        }
      }
    }
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



odps-sdk/odps-sdk-graph/src/main/java/com/aliyun/odps/graph/DefaultLoadingVertexResolver.java [123:151]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  protected void removeEdges(I vertexId, Vertex<I, V, E, M> vertex,
                             VertexChanges<I, V, E, M> vertexChanges) throws IOException {
    if (hasEdgeRemovals(vertexChanges)) {
      if (vertex == null) {
        throw new IOException("ODPS-0730001: GraphLoader remove edge from vertex(Id: '"
                              + vertexId + "') that does not exist");
      }
      if (!vertex.hasEdges()) {
        throw new IOException("ODPS-0730001: GraphLoader remove edge from vertex(Id: '"
                              + vertexId + "') that does not has edges");
      }

      for (I removedDestVertex : vertexChanges.getRemovedEdgeList()) {
        boolean found = false;
        List<Edge<I, E>> edgeList = vertex.getEdges();
        for (Iterator<Edge<I, E>> edges = edgeList.iterator(); edges.hasNext(); ) {
          Edge<I, E> edge = edges.next();
          if (edge.getDestVertexId().equals(removedDestVertex)) {
            edges.remove();
            found = true;
          }
        }
        if (!found) {
          throw new IOException("ODPS-0730001: GraphLoader remove edge(DestVertexId: '"
                                + removedDestVertex + "') that does not exist for " + vertex);
        }
      }
    }
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



