You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Cameron Lee (Jira)" <ji...@apache.org> on 2020/07/27 17:59:00 UTC

[jira] [Created] (SAMZA-2564) InMemoryKeyValueStore.snapshot does not satisfy immutability API

Cameron Lee created SAMZA-2564:
----------------------------------

             Summary: InMemoryKeyValueStore.snapshot does not satisfy immutability API
                 Key: SAMZA-2564
                 URL: https://issues.apache.org/jira/browse/SAMZA-2564
             Project: Samza
          Issue Type: Bug
            Reporter: Cameron Lee


The return value of KeyValueStore.snapshot is only supposed to reflect the state of the store when "snapshot" was called. Part of the Javadoc says "The snapshot is immutable - ie., any mutations to the store are not reflected in the snapshot after it is created." However, the implementation of InMemoryKeyValueStore.snapshot does not satisfy this requirement, since the return value of InMemoryKeyValueStore.snapshot does reflect changes to the store.

It might work to create a copy of the entrySet of the subMap in InMemoryKeyValueStore.snapshot so that its iterator is not backed by the underlying map. However, this needs to be tested, and it will likely increase memory usage.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)