These two settings are incompatible, because CompactNodeStore does not implement .contains(...)
Instead, if --compact is present, don't shard stores. Further, throw if code calls .contains(...), so that we'll fail noisily and more clearly.
I debated teaching CompactNodeStore how to do .contains(...), e.g. by maintaning a bitmap of which entries were present. Ultimately, though, I think sharding CompactNodeStores does not make sense -- each CompactNodeStore instance will use about the same amount of memory (vs the other stores, which will each use 1/N memory)
Also a small tweak: detect if --compact is used on a non-renumbered PBF, and warn the user.
Fixes #657
These two settings are incompatible, because CompactNodeStore does not implement
.contains(...)
Instead, if
--compact
is present, don't shard stores. Further, throw if code calls.contains(...)
, so that we'll fail noisily and more clearly.I debated teaching CompactNodeStore how to do
.contains(...)
, e.g. by maintaning a bitmap of which entries were present. Ultimately, though, I think sharding CompactNodeStores does not make sense -- each CompactNodeStore instance will use about the same amount of memory (vs the other stores, which will each use 1/N memory)Also a small tweak: detect if
--compact
is used on a non-renumbered PBF, and warn the user.