[SYSTEMDS-3591] Fix variable cleanup of function return values

This patch fixes a special case of properly cleaning up variables that
are overwritten by function return values. Specifically, when a function

[curr_rows_queue, curr_rows_vector] = dataQueuePop(curr_rows_queue)

passes its input to the output but instead of assigning it to the same
variable assigns it to a different variable (here curr_rows_queue ->
curr_rows_vector), we would not recognize that the old curr_rows_queue
should not be cleaned up (removed in-memory block/hdfs files). The
difference to normal rmvar/mvvar instructions is that we need to be
aware of both execution contexts between we transition on function
return. The actual fix was then trivial.

Furthermore, this patch also includes a small corruption of the indexing
rewrite which came in with the previous commit.
3 files changed
tree: 88fdfdf5267a7032aa874b771c71d954d2662f5c
  1. .github/
  2. .mvn/
  3. bin/
  4. conf/
  5. dev/
  6. docker/
  7. docs/
  8. scripts/
  9. src/
  10. .asf.yaml
  11. .gitattributes
  12. .gitignore
  13. .gitmodules
  14. CITATION
  15. CONTRIBUTING.md
  16. LICENSE
  17. NOTICE
  18. pom.xml
  19. README.md
README.md

Apache SystemDS

Overview: SystemDS is an open source ML system for the end-to-end data science lifecycle from data integration, cleaning, and feature engineering, over efficient, local and distributed ML model training, to deployment and serving. To this end, we aim to provide a stack of declarative languages with R-like syntax for (1) the different tasks of the data-science lifecycle, and (2) users with different expertise. These high-level scripts are compiled into hybrid execution plans of local, in-memory CPU and GPU operations, as well as distributed operations on Apache Spark. In contrast to existing systems - that either provide homogeneous tensors or 2D Datasets - and in order to serve the entire data science lifecycle, the underlying data model are DataTensors, i.e., tensors (multi-dimensional arrays) whose first dimension may have a heterogeneous and nested schema.

Quick Start Install, Quick Start and Hello World

Documentation: SystemDS Documentation

Python Documentation Python SystemDS Documentation

Issue Tracker Jira Dashboard

Status and Build: SystemDS is renamed from SystemML which is an Apache Top Level Project. To build from source visit SystemDS Install from source

Build Documentation Java Tests Python Tests