private void fail(Throwable t) {
      synchronized (SourceHandle.this) {
        if (aborted || closed) {
          return;
        }
        bufferRetainedSizeInBytes -= reservedBytes;
        localMemoryManager
            .getQueryPool()
            .free(
                localFragmentInstanceId.getQueryId(),
                fullFragmentInstanceId,
                localPlanNodeId,
                reservedBytes);
        sourceHandleListener.onFailure(SourceHandle.this, t);
      }
    }
Get data blocks from an upstream fragment instance.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/exchange/source/SourceHandle.java