[
https://issues.apache.org/jira/browse/BLUR-112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13693695#comment-13693695
]
Rahul Challapalli commented on BLUR-112:
----------------------------------------
Hi Aaron,
Thanks for your response. Below are few of my thoughts
MapReduce Indexing : May be we should implement some locking mechanism on
TableDescriptor/AnalyzerDefinition so that it is not changed until MapReduce
Indexing is done.
May be my understanding is a little naive here but we are storing analyzer
definition as whole in zookeeper. If that is the case how can we use
ZkCachedMap to store values in zookeeper(apart from memory) at a lower
granularity like types or column definition (unless we modify how analyzer
definition is stored).
We should also add this subtask apart from the ones you mentioned:
-- Modify Column struct to add type and once defined we should not allow
updates for existing column definitions
* Then a ZK watcher would fire in the ZooKeeperClusterStatus class (all the
shard servers would also fire on the watcher) that would update the
TableDescriptor, then perhaps we would clear the table context cache -- I
thoought about this but I didn't knew how to achieve this. This clarifies.
Also what would be the problem with refreshing the same blur analyzer object
instead of creating a new one. Something like
analyzer.reload(updatedAnalyzerDefinition). This avoids updating all references
held to the analyzer. If for some reason this does not work then apart from
passing it to BlurIndexWriter, we should also tweak the DistributedIndexServer
as it holds _tableAnalyzers and _tableDescriptors. What do you think?
> Allow for types to be set on blur tables
> ----------------------------------------
>
> Key: BLUR-112
> URL: https://issues.apache.org/jira/browse/BLUR-112
> Project: Apache Blur
> Issue Type: Improvement
> Affects Versions: 0.2.0, 0.3.0
> Reporter: Aaron McCurry
> Fix For: 0.3.0
>
>
> Create the ability for Blur to handle the default Lucene field types. This
> should not be tied to the table descriptor because types should be allowed to
> be added at runtime. Also 2 new fields should be added to the
> TableDescriptor:
> 1. A strict types attribute. If set to true, if a new column is added to the
> table and there is no type mapping for it. Throw an exception. Set to false
> by default.
> 2. Default type is strict is set to false. The default type should be text.
> Also, dynamic columns could be allowed if their name included the type. Such
> as:
> The column name could be "col1" with a type of "int", in the Column struct in
> thrift the name would be "col1/int" and if the type did not exist before the
> call it would be added.
> Thoughts?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira