[
https://issues.apache.org/jira/browse/LUCENE-5215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shai Erera updated LUCENE-5215:
-------------------------------
Attachment: LUCENE-5215.patch
bq. could we remove SCR.fieldInfos entirely?
Done.
bq. I mean technically I guess it's an optimization
The problem is that it's a chicken-and-egg problem: SR needs to open the CFS in
order to read the FieldInfos, but doesn't need to hold it open. SCR needs the
CFS for reading the various formats, but we must read FIS before we init SCR.
Note that we only do this double-open in case we open a new SegReader, never
when we share a reader (then, if we need to read FIS, it's always outside CFS,
cause it must be gen'd). In that case, maybe it's not so bad to do this
double-open? I put a TODO in the code for now.
> Add support for FieldInfos generation
> -------------------------------------
>
> Key: LUCENE-5215
> URL: https://issues.apache.org/jira/browse/LUCENE-5215
> Project: Lucene - Core
> Issue Type: New Feature
> Components: core/index
> Reporter: Shai Erera
> Assignee: Shai Erera
> Attachments: LUCENE-5215.patch, LUCENE-5215.patch, LUCENE-5215.patch,
> LUCENE-5215.patch, LUCENE-5215.patch, LUCENE-5215.patch
>
>
> In LUCENE-5189 we've identified few reasons to do that:
> # If you want to update docs' values of field 'foo', where 'foo' exists in
> the index, but not in a specific segment (sparse DV), we cannot allow that
> and have to throw a late UOE. If we could rewrite FieldInfos (with
> generation), this would be possible since we'd also write a new generation of
> FIS.
> # When we apply NDV updates, we call DVF.fieldsConsumer. Currently the
> consumer isn't allowed to change FI.attributes because we cannot modify the
> existing FIS. This is implicit however, and we silently ignore any modified
> attributes. FieldInfos.gen will allow that too.
> The idea is to add to SIPC fieldInfosGen, add to each FieldInfo a dvGen and
> add support for FIS generation in FieldInfosFormat, SegReader etc., like we
> now do for DocValues. I'll work on a patch.
> Also on LUCENE-5189, Rob raised a concern about SegmentInfo.attributes that
> have same limitation -- if a Codec modifies them, they are silently being
> ignored, since we don't gen the .si files. I think we can easily solve that
> by recording SI.attributes in SegmentInfos, so they are recorded per-commit.
> But I think it should be handled in a separate issue.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]