Hi Geert, thanks for sharing this: my comments in-line.
> * require app devs to bundle their custom types in a dedicated jar also and > to only reference them through interfaces, allow us to use the same approach > as the > one we're currently using > > => the huge downside is that they'll most like have to restructure their > data structures and most importantly they will have to go through a generic > factory > method and not be in control of the lifecycle of instances of these types Too obtrusive: I wouldn't go with that one. > * create an instrumentation agent that can instrument the byte-code of the > classes without having to use a classloader > > => the problem here is that these types currently can find their relevant L1 > client for the clustering logic, maybe some creative ideas here might make > this > possible, not sure I can't understand the problem with the agent: do you mind elaborating more? > * forget about cluster-wide object identity and create a generic > serialization/deserialization approach that would allow types that aren't > serializable per-se to still > be clustered > > => this would obviously lose cluster identity but also be limited to > whatever we support in this serialization/deserialization logic, it might > also introduce one more > concept of app devs that they need to understand This could definitely be an interesting solution, in particular if you plan to provide more serialization providers, such as Java serialization, GoogleProtoBuf, and so on: I've made something similar in Tim-Pipes, and it shouldn't be difficult to do the same in the toolkit. Anyways, I have a question: I'm not that concerned about object identity, but rather about the speed improvements you'd keep by maintaining the original Terracotta fine-grained replication; changing a single attribute and then move around the whole serialized stream seems to be far less efficient ... any thoughts on this? -- Sergio Bossa http://www.linkedin.com/in/sergiob _______________________________________________ tc-dev mailing list tc-dev@lists.terracotta.org http://lists.terracotta.org/mailman/listinfo/tc-dev