Basically, the tuple instance is maintained as a singleton in physical operators. However, there are some memory-based operator types which need to keep multiple tuples in the memory. In these operators, multiple instances must be created for each tuple.
Currently, there are some temporal routines to avoid unexpected problems due to the singleton instance of tuple. However, the methodology is inconsistent and complex, which causes unexpected bugs.
A consistent methodology is needed to handle this problem. Only the operators that keep multiple tuples in memory must maintain those tuples with separate instances.