Hi,
this is because the list state is intended to be append only. The underlying reason is that this allows certain optimizations in the underlying datastructures. For example, a list state for the RocksDB backend can make use of RocksDB’s merge operator and does not require a full rewrite to the DB on appends.
If you need to have a list that supports this, you could use a value state of type list or use a map state where you map from list-index -> element.
Best,
Stefan