I have finished walking through the whole slices code, and it looks good. Aside from minimal janitorial/code clean, there is one feature that I will want to get implemented.

I think we need to have a plugin to figure out the slice targets the queries run against. So that application code might be able to know better about the queries and determine that any particular query might only get results on one or two slices.. (sharding has less benefits if most queries are forced to execute against all slices).

Currently this is supported through query "hints", but I think that is a really bad choice, since hints would be hard-coded, and you force you to do a full code change and rebuild, if you wanted to change the number or names of slices, etc etc.. (way too intimate and spaghetti code)


I propose to add another plugin, or extend the DistributionPolicy to return possible query targets, when you pass in a query, etc etc.. (i would also pass in the FecthConfiguration to allow application centric hints to help the code decide).


Any comments? ideas? brain-storms??





ps - Along the lines of mixing configurations with code.. the replication feature is driven by the @Replicated annotation in a class, when really the ReplicationPolicy is the one that should decide which classes are replicated and how.. it seems like a pain to have to coordinate both code annotation, and configuration level code.. So I propose to remove @Replicated annotation, and just expose another isReplicated method to the ReplicationPolicy.





Fernando Padilla wrote:
So I was wondering if anyone is actively maintaining the slices implementation? My company, we are going to be doing a big bet on sharding and OpenJPA, so I would probably be giving feedback, ideas and patches towards the slices..

but I wanted to know who might be accepting/reviewing such discussions, so they don't fall on deaf ears..

Reply via email to