got it..Thanks Guozhang. On Tue, Aug 15, 2017 at 1:55 AM, Guozhang Wang <wangg...@gmail.com> wrote:
> Sameer, > > It is mainly to guard for concurrent access for interactive queries: > > https://kafka.apache.org/0110/documentation/streams/ > developer-guide#streams_interactive_queries > > In Kafka Streams, we allow users to independently query the running state > stores in real-time in their own caller thread while the application's > thread is continuously updating these stores, and hence the > synchronization. > > > Guozhang > > > On Sun, Aug 13, 2017 at 10:24 PM, Sameer Kumar <sam.kum.w...@gmail.com> > wrote: > > > Hi, > > > > I was inspecting RocksDBStore and I saw get and put methods being > > synchronized. > > > > Are there any issues in RocksDB due to which we have used it. Could > someone > > please enlighten more on this. > > > > @Override > > public synchronized V get(K key) { > > validateStoreOpen(); > > byte[] byteValue = getInternal(serdes.rawKey(key)); > > if (byteValue == null) { > > return null; > > } else { > > return serdes.valueFrom(byteValue); > > } > > } > > > > @SuppressWarnings("unchecked") > > @Override > > public synchronized void put(K key, V value) { > > validateStoreOpen(); > > byte[] rawKey = serdes.rawKey(key); > > byte[] rawValue = serdes.rawValue(value); > > putInternal(rawKey, rawValue); > > } > > > > -Sameer. > > > > > > -- > -- Guozhang >