ets:lookup and ets:update_counter return [] although key/value is there
Bjorn Gustavsson
bjorn@REDACTED
Tue Sep 13 10:42:39 CEST 2005
Knut Bakke <knutbakke@REDACTED> writes:
> My best clue: I know that the memory driver for erlang
> has been changed to delete memory areas before
> updating them - to reduce memory fragmentation. Could
> it be that there is a time slice where the data is not
> there?
(I suppose you refer to the +r flag.)
NO. The current emulator is single-threaded. Nothing else
can run while an ets operation is taking place.
I strongly suspect that there is a bug in your own application, that
changing the hardware has changed the timing and exposed a latent bug.
Of course, the bug could be in ets; in that case it should be possible
to reproduce it on any machine if you would do EXACTLY the same ets
operations.
Have you tried to trace all ets operations?
/Bjorn
--
Björn Gustavsson, Erlang/OTP, Ericsson AB
More information about the erlang-questions
mailing list