• New Feature
  • Status: New
  • 2 Major
  • Resolution:
  • DSO:L1
  • prodmgmt
  • Reporter:
  • November 27, 2008
  • 0
  • Watchers: 0
  • March 19, 2010


In many use cases, I find partial nature of Maps an unnecessary overhead

1) e.g. only keys are faulted in initially and values are faulted in on subsequent touch. This makes any pre initialization of maps very time consuming for larger maps. Terracotta server should have the option of configuring if it should be sending the value objects as well along with the keys. e.g. THashMap depicts this behavior while still maintaining the partial nature of Map at L2. This would require changes in L1 applicators as well so that they materialize the map values when it is faulted in.

2) If any change to Map is expected to be consumed by other L1s, it makes sense to broadcast the value object as well and L1 should Map should materialize it instead of faulting it later on demand.

3) The performance difference in initialization time because of the partial nature in 1 are very significant. E.g I can load a THashMap with 200L entries in14 seconds, while HashMap takes 160 seconds.