[ 
https://issues.apache.org/jira/browse/SOLR-11487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley updated SOLR-11487:
--------------------------------
    Attachment: SOLR_11487.patch

Here's an updated patch.
* Created an inner class ZkStateReader.AliasesManager this is itself the 
watcher and generally holds and manages the state.  All aliases related 
code/state in ZkStateReader is now organized together, some into the manager 
this class where appropriate.  Admittedly I didn't add a getter for this 
manager; perhaps it should be there as a matter of taste.
* Moved the zk version from the Aliases instance into the AliasesManager 
alongside the aliases instance.  While it was fine on Aliases, once I conceived 
of the design of an AliasesManager, it felt nicer to put it there and leave 
Aliases ignorant of such things.
* removed the use of Function within Aliases.  Instead I'm using a 
UnaryOperator as a method param to AliasesManager.applyModificationAndExportToZk
* No actual need anymore for wait/notifyAll or sleeping.  There should be no 
hot loop.  If there is a zk version conflict, it should retry immediately and 
usually succeed unless there is yet another conflict (which should _eventually_ 
get resolved within reason).
* The DeleteAliasCmd was missing from the last patch.
* Aliases: some slight little changes in addition to removing zkVersion. Gus if 
you've been modifying it, you may want to compare.

We don't have a race-condition test between modifications to aliases.  Perhaps 
human peer-review is a substitute.  What do you think of these changes 
[~gus_heck]?

> Collection Alias metadata for time partitioned collections
> ----------------------------------------------------------
>
>                 Key: SOLR-11487
>                 URL: https://issues.apache.org/jira/browse/SOLR-11487
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: SolrCloud
>            Reporter: David Smiley
>         Attachments: SOLR_11487.patch, SOLR_11487.patch, SOLR_11487.patch, 
> SOLR_11487.patch, SOLR_11487.patch, SOLR_11487.patch
>
>
> SOLR-11299 outlines an approach to using a collection Alias to refer to a 
> series of collections of a time series. We'll need to store some metadata 
> about these time series collections, such as which field of the document 
> contains the timestamp to route on.
> The current {{/aliases.json}} is a Map with a key {{collection}} which is in 
> turn a Map of alias name strings to a comma delimited list of the collections.
> _If we change the comma delimited list to be another Map to hold the existing 
> list and more stuff, older CloudSolrClient (configured to talk to ZooKeeper) 
> will break_.  Although if it's configured with an HTTP Solr URL then it would 
> not break.  There's also some read/write hassle to worry about -- we may need 
> to continue to read an aliases.json in the older format.
> Alternatively, we could add a new map entry to aliases.json, say, 
> {{collection_metadata}} keyed by alias name?
> Perhaps another very different approach is to attach metadata to the 
> configset in use?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to