Set object strage behaviour


the situation is as follows: I have a Set object that contains url hashes(calculated via Md5.hashStr) for RSS articles the user has already seen, to prevent this articles to be shown to a user again.

That works fine for fetching new urls list and checking them agains that Set. But if I an app is staying inact for some time (overnight usually), when I getting new urls list after that period and start to check new urls against that Set some magic happens: for some urls that has been shown and therefore saved in that Set, Set.has(hash) starts to return false.

I brought Set.size to the UI and can see that it still contains the same number of hashes, so looks it’s not being modified.

The funniest thing is that if I fetch urls list again right after that magic happens Set starts to behave as expected, returning true for urls that has been put into it.

During fetching new uls list, an object containing reference to that Set is being modified, but Set reference stays untouched, only some other properties change.

Couldn’t that be some sync problems, like, I don’t know, object is put in cache after long inact phase,
I know, sounds crazy, but got no other assumptions,

Thanks for any help!