[
https://issues.apache.org/jira/browse/SOLR-7247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paolo Cappuccini updated SOLR-7247:
-----------------------------------
Comment: was deleted
(was: Shalin, perhaps i'm missing something but in file
org.apache.solr.update.SolrIndexSplitter.java i see at line 194 (ver. 4.10.3) :
hash = hashRouter.sliceHash(idString, null, null, null);
Internally , in this way, routeField is ignored becuause collection and doc is
missing and no params are specified.
Infact in my case split is done, but in wrong way!
Wheni said "is broken" i meant that it works in wrong way (i didn't mean that
it throws expeption ).
But after the splitting docs are in wrong shard and future searches can fail in
logic because search use other parameters.
)
> sliceHash for compositeIdRouter is not coherent with routing
> ------------------------------------------------------------
>
> Key: SOLR-7247
> URL: https://issues.apache.org/jira/browse/SOLR-7247
> Project: Solr
> Issue Type: Bug
> Affects Versions: 4.10.3
> Reporter: Paolo Cappuccini
>
> in CompositeIdRouter the function sliceHash check routeField configured for
> collection.
> This make me to guess that intended behaviour is manage alternative field to
> id field to hash documents.
> But the signature of this method is very general ( can take id, doc or
> params) and it is used in different ways from different functionality.
> In my opinion it should have overloads instead of a weak internal logic. One
> overload with "doc" and "collection" and another one with "id" , "params" and
> "collections".
> In any case , if "\_route_" is not available by "params" , "collection"
> should be mandatory and in case of RouteField, also "doc" should be mandatory.
> This will break SplitIndex but it will save coherence of data.
> If i configure routeField i noticed that is broken the DeleteCommand (this
> pass to sliceHash only "id" and "params" ) and SolrIndexSplitter ( this pass
> only "id" )
> It should be forbidden to specify RouteField to compositeIdRouter or
> implements related functionality to make possible to hash documents based on
> RouteField.
> in case of DeleteCommand command the workaround is to specify "_route_" param
> in request but in case of Index Splitting is not possible any workaround.
> In this case it should be passed entire document during splitting ("doc"
> parameter") or build params with proper "\_route_" parameter.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]