[
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]